powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Ругается при компиляции на Linuxе...
5 сообщений из 5, страница 1 из 1
Ругается при компиляции на Linuxе...
    #33603363
d2e8k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Не разберусь с компиляцией на Linux (AltLinux 2.3), на FreeBSD такое компилируется без проблем. Вот такой файлик:
#include <string>
#include <iostream>

using std::cout;
using std::endl;
main () {
string str;

str = string ("any string");
cout << str << endl;
}

И вот такие сообщения после выполнения g++ -o file file.cc:
In file included from /usr/include/bits/posix1_lim.h:126,
from /usr/include/limits.h:144,
from /usr/lib/gcc-lib/i586-alt-linux/3.2.3/include/limits.h:132,
from /usr/lib/gcc-lib/i586-alt-linux/3.2.3/include/syslimits.h:7,
from /usr/lib/gcc-lib/i586-alt-linux/3.2.3/include/limits.h:11,
from /usr/include/c++/3.2.3/climits:49,
from /usr/include/c++/3.2.3/bits/stl_algobase.h:66,
from /usr/include/c++/3.2.3/memory:54,
from /usr/include/c++/3.2.3/string:48,
from simpleStr.cc:1:
/usr/include/bits/local_lim.h:36:26: linux/limits.h: No such file or directory
In file included from /usr/include/errno.h:36,
from /usr/include/c++/3.2.3/cerrno:48,
from /usr/include/c++/3.2.3/bits/locale_facets.tcc:38,
from /usr/include/c++/3.2.3/locale:46,
from /usr/include/c++/3.2.3/bits/ostream.tcc:37,
from /usr/include/c++/3.2.3/ostream:275,
from /usr/include/c++/3.2.3/iostream:45,
from simpleStr.cc:2:
/usr/include/bits/errno.h:25:26: linux/errno.h: No such file or directory
simpleStr.cc: In function `int main()':
simpleStr.cc:7: `string' undeclared (first use this function)
simpleStr.cc:7: (Each undeclared identifier is reported only once for each function it appears in.)
simpleStr.cc:7: syntax error before `;' token
simpleStr.cc:9: `str' undeclared (first use this function)

В /usr/include/c++/3.2.3/ файл string имеется .
Подобные проблемы бывают при использовании iostream: если указать #include <iostream>, он ругается. Если указать -I/usr/include/c++/3.2.3/backward и #include <iostream.h>, тогда компилируется, но предупреждает про "deprecated...".
Буду благодарен, тем кто подскажет, что я делаю не так.
...
Рейтинг: 0 / 0
Ругается при компиляции на Linuxе...
    #33603415
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
using namespace std вроде нужно
...
Рейтинг: 0 / 0
Ругается при компиляции на Linuxе...
    #33606853
a_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
думаю будет достаточно
Код: plaintext
1.
using std::string;
...
Рейтинг: 0 / 0
Ругается при компиляции на Linuxе...
    #33606868
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исследовал ситуацию.

FreeBSD 4.10 gcc 2.95.4 компилируется.
FreeBSD 5.3 gcc 3.4.2 ругается, string говорит не определен.
MinGW gcc 3.4.1 ругается точно так же.

Отсюда вывод - вероятно дело в версии gcc :)
...
Рейтинг: 0 / 0
Ругается при компиляции на Linuxе...
    #33607552
d2e8k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разобрался.
надо добавить -I/usr/include/linux-default/include/ при компиляции. А так же указать
Код: plaintext
1.
2.
3.
std::cout;
std::endl;
std::string;


В таком случае компилируется без предупреждений.

Спасибо всем
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Ругается при компиляции на Linuxе...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]