Решено: С++. Не знаю как использовать потоки ввода ввыода на консоль
Модератор: Модераторы разделов
-
Mansai
- Сообщения: 19
- ОС: OpenSuSe 10.3
Решено: С++. Не знаю как использовать потоки ввода ввыода на консоль
#include <strstream> // или <iostream> .выдаёт разные ошибки
using namespace std;
int main()
{
cout << "Что нибудь";
return 0;
}
объяснитье пожалуйста, почему не работает?
using namespace std;
int main()
{
cout << "Что нибудь";
return 0;
}
объяснитье пожалуйста, почему не работает?
Ты думаешь, что движешь, а ты движим
-
grouzen
- Сообщения: 120
- ОС: LFS, slackware
-
Mansai
- Сообщения: 19
- ОС: OpenSuSe 10.3
Re: Решено: С++. Не знаю как использовать потоки ввода ввыода на консоль
имя компилируемого файла 1234.cpp
/tmp/ccIZdnVC.o: in Function 'std:__verufy_grouping(char const*, unsigned int, std::char_traits<char>, std::allocator<char> > const&)':
1234.cpp: (.text+0xe): undefined reference to 'std::basic_string<char,std:char_traits<char>,std:allocator<char> > const&)
... тут примерное подобное
/tmp/ccIZdnVC.o: in function 'main':
1234.cpp : (.text + )x128): undefined reference to 'std::cout'
... тут примерно подобное
collect2: ld returned 1 exit status
/tmp/ccIZdnVC.o: in Function 'std:__verufy_grouping(char const*, unsigned int, std::char_traits<char>, std::allocator<char> > const&)':
1234.cpp: (.text+0xe): undefined reference to 'std::basic_string<char,std:char_traits<char>,std:allocator<char> > const&)
... тут примерное подобное
/tmp/ccIZdnVC.o: in function 'main':
1234.cpp : (.text + )x128): undefined reference to 'std::cout'
... тут примерно подобное
collect2: ld returned 1 exit status
Ты думаешь, что движешь, а ты движим
-
warp
- Сообщения: 135
Re: Решено: С++. Не знаю как использовать потоки ввода ввыода на консоль
такой отвал происходит когда линковщик не находит нужную функцию. те в приведённом заглавочном файле она не определена или определена не корректно, или ей сообщаются не корректные инициализирующие значения. если не следовать стандарту то можно использовать вот это:
да кстати, если под gcc-g++ компилити то не надо таскать за собой using std - оно по умолчанию используется.
Код: Выделить всё
#include <iostream.h>
using namespace std;
int main()
{
cout << "Что нибудь";
return 0;
}да кстати, если под gcc-g++ компилити то не надо таскать за собой using std - оно по умолчанию используется.
за мировое господство! банзай, товарищи!
-
/dev/random
- Администратор
- Сообщения: 5456
- ОС: Gentoo
Re: Решено: С++. Не знаю как использовать потоки ввода ввыода на консоль
Компилируется командой gcc или g++ ?
-
destr
- Сообщения: 128
- ОС: Debian
Re: Решено: С++. Не знаю как использовать потоки ввода ввыода на консоль
ага, и используйте <iostream> вместо <iostream.h>
-
warp
- Сообщения: 135
Re: Решено: С++. Не знаю как использовать потоки ввода ввыода на консоль
/dev/random, g++ так как с++
но можно и gcc'шкой с соответвующей опцией ))
но можно и gcc'шкой с соответвующей опцией ))
за мировое господство! банзай, товарищи!
-
Mansai
- Сообщения: 19
- ОС: OpenSuSe 10.3
Re: Решено: С++. Не знаю как использовать потоки ввода ввыода на консоль
Ну так как мне решите эту проблему (не важно какой именно командой я компилю, всё равно вылезает ошибка). А при описани <iostream.h> он мне ещё выдаёт предупреждение.
Ты думаешь, что движешь, а ты движим
-
drag0n
- Сообщения: 156
- Статус: Дракон-линуксоид
- ОС: Slackware Linux
Re: Решено: С++. Не знаю как использовать потоки ввода ввыода на консоль
Код: Выделить всё
1234.cpp : (.text + )x128): undefined reference to 'std::cout'А у вас библиотека libstdc++ установлена??
После каталога /etc понимаешь, что реестр - место, откуда нормальными не возвращаются.
-
warp
- Сообщения: 135
Re: Решено: С++. Не знаю как использовать потоки ввода ввыода на консоль
предупреждение при <iostream.h> вылазит по тому что это уже лет как 10 устаревший способ инклуда, хотя и до сих пор рабочий. а вот наличие ошибки по меньшей мере странно и вот по чему - заглавочный файл есть, но линковка с динамической библиотекой не происходит... вроде бы нужно искать ошибку в коде но у меня пример прекрасно работает. какой вы именно командой компилити? g++ 1234.cpp? или чем то отличным? как выглядит полная командная строка?
за мировое господство! банзай, товарищи!
-
Mansai
- Сообщения: 19
- ОС: OpenSuSe 10.3
Re: Решено: С++. Не знаю как использовать потоки ввода ввыода на консоль
drag0n писал(а): ↑09.10.2008 08:13Код: Выделить всё
1234.cpp : (.text + )x128): undefined reference to 'std::cout'
А у вас библиотека libstdc++ установлена??
Как это проверить?
Код: Выделить всё
предупреждение при <iostream.h> вылазит по тому что это уже лет как 10 устаревший способ инклуда, хотя и до сих пор рабочий. а вот наличие ошибки по меньшей мере странно и вот по чему - заглавочный файл есть, но линковка с динамической библиотекой не происходит... вроде бы нужно искать ошибку в коде но у меня пример прекрасно работает. какой вы именно командой компилити? g++ 1234.cpp? или чем то отличным? как выглядит полная командная строка?daniil@linux-v1nr:~> gcc 1234.cpp
/tmp/ccij2jyH.o: In function `std::__verify_grouping(char const*, unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
1234.cpp:(.text+0xe): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::size() const'
1234.cpp:(.text+0x59): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned int) const'
1234.cpp:(.text+0x97): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned int) const'
1234.cpp:(.text+0xdf): undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator[](unsigned int) const'
/tmp/ccij2jyH.o: In function `main':
1234.cpp:(.text+0x128): undefined reference to `std::cout'
1234.cpp:(.text+0x12d): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
/tmp/ccij2jyH.o: In function `__static_initialization_and_destruction_0(int, int)':
1234.cpp:(.text+0x15d): undefined reference to `std::ios_base::Init::Init()'
/tmp/ccij2jyH.o: In function `__tcf_0':
1234.cpp:(.text+0x1aa): undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccij2jyH.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
daniil@linux-v1nr:~>
При вводе команды cpp 1234.cpp выдаёт вроде бы содержание хэдера iostream а за ним следует текст программы(самма программа не выполняется)
При команде cc 1234.cpp выдаёт тоже что и при gcc 1234.cpp
А при командах c++ 1234.cpp и g++ 1234.cpp не выдаёт ничего.
А эта проблема приследует меня не только на моём OSS 10.3 Такая же проблема у меня и при компиляции в школе на ALTLinux(версию точно не помню)
Ты думаешь, что движешь, а ты движим
-
warp
- Сообщения: 135
Re: Решено: С++. Не знаю как использовать потоки ввода ввыода на консоль
daniil@linux-v1nr:~> gcc 1234.cpp
так ведь си ничего не знает о потоках, ios'ах и прочей с++'ой колбасе, отсюда и ругань в консоли на неизвестные функции.
давайте уточним установлен ли у вас g++ и какая у него версия:
g++ --version
если у вас его нет то придётся его поднять. если же есть, но не заработает после команды g++1234.cpp то вывод консоли уже для этого случая.
1234.cpp не выдаёт ничего.
если компиляция завершена успешно то ничего и не должно выдаваться.
за мировое господство! банзай, товарищи!
-
Mansai
- Сообщения: 19
- ОС: OpenSuSe 10.3
Re: Решено: С++. Не знаю как использовать потоки ввода ввыода на консоль
Код: Выделить всё
если компиляция завершена успешно то ничего и не должно выдаваться.А как тогда запустить программу на выполнение?
Ты думаешь, что движешь, а ты движим
-
Portnov
- Модератор
- Сообщения: 1786
- Статус: Матёрый линуксоид
- ОС: Debian testing/unstable
Re: Решено: С++. Не знаю как использовать потоки ввода ввыода на консоль
./a.out
где a.out - имя появившегося бинарника.
где a.out - имя появившегося бинарника.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
-
warp
- Сообщения: 135
Re: Решено: С++. Не знаю как использовать потоки ввода ввыода на консоль
добавлю к словам Portnov'a что лежать она будет там же где и исходник.
за мировое господство! банзай, товарищи!
-
/dev/random
- Администратор
- Сообщения: 5456
- ОС: Gentoo
Re: Решено: С++. Не знаю как использовать потоки ввода ввыода на консоль
Я имел в виду, чем _топикстартер_ пытается откомпилировать, а не чем следует компилировать. Поскольку, судя по ошибке, вероятнее всего, он пытался компилировать командой gcc.
И я оказался прав:
-
warp
- Сообщения: 135
Re: Решено: С++. Не знаю как использовать потоки ввода ввыода на консоль
с утра моё эго проснулось раньше чем я сам, вот меня и глюкнуло что это мне ;]
за мировое господство! банзай, товарищи!
-
Mansai
- Сообщения: 19
- ОС: OpenSuSe 10.3
Re: Решено: С++. Не знаю как использовать потоки ввода ввыода на консоль
Да!!! При команде c++ 1234.cpp всё нормально компилируется!!! Он мне выдал фаил a.out а я в упор смотрел и не понимал что это такое!!! Всем большое спасибо, что помогли мне разобраться!!!
Ты думаешь, что движешь, а ты движим