LINUX.ORG.RU

STL-Container


0

0
Hi !
Такая проблемка . Хочу использовать list в своей программе .
но на
#include <list>
g++ компилятор начинает ругаться на это строку .
Вопрос : Как подключить STL библиотеки при компиляции ?
anonymous
Напиши, как ты запускаешь компилятор, и что именно он пишет.
justme
()
У меня Suse 6.4 .
Пишу при компиляции просто :
g++ -ofile file.cpp

по идее g++ - compiler автоматом подключает библиотеки.
пробовал и так :
g++ -lstdc++ file.cpp
не помогает .

При компиляции выдает список большой список и
еще указывает на строку где стоит
#include <list>
и пишет что не может найти такой файл.

anonymous
()
У тебя libgpp.rpm установлен?
justme
()
Да , у меня поставлен libgpp-2.95.2-26
anonymous
()
Попробуй
#include <g++/list>
Только загляни сначала в /usr/include и выясни, как у тебя называется каталог g++* (может быть как-нибудь типа g++-2, g++-3, ...). Можно указать в командной строке компилятора ключ -Ig++ вместо вставки его в #include.
nobody ★★
()
Ребята, а вам не кажется, что директива #include требует указания .h файла? То есть, нунжно сказать #include <list.h>, чтобы оно его нашло... :)
Akan
()
Расширение можно не указыывать - спецификация С++ это позволяет сделать.
Bauron
()
Тем более, что файл list без .h есть
Havoc ★★★★
()
Ну, тогда -Iinclude_file_directory, где include_file_directory - директория, где лежит файл, который надо включить в компиляцию.
Akan
()
хоть ошибка похоже не при линковке, а при компиляции, по-моему правильней писать "g++ file.cpp -lstdc++" вместо "g++ -lstdc++ file.cpp"
anonymous
()
Ответ на: комментарий от anonymous
Вопроса твоего не понял. Что конкретно ты хотел спросить?
nobody ★★
()
po defaultu STL headeryi nahodyatsya v /usr/include/g++-2, vopros :
chto za versiya etih headerov nahoditsya v /usr/include/g++-3(4..)?
anonymous
()
Там находятся те же самые заголовки, но от другого компилятора (другой версии) - если у тебя больше 1 компилера в системе. А вообще это зависит от того, как сконфигурен компилер перед его собственной компиляцией. А где ты прочитал, что по умолчанию STL-заголовки должны лежать в /usr/include/g++-2?
nobody ★★
()
ya ne utverzhdayu, chto oni tam DLOZHNYI lezhat, oni tam prosto
lezhat ( RH ). Ya podumal, mozhet suschestvuet nekotoraya
dogovorennost mezhdu nazvaniem direktorii i versiei kompilyatora.
Vooshem ponyatno.
anonymous
()
Я хотел поблагодарить всей откликнувшихся , особенно nobody.
Спасибо всем , с подключением list разобрался.
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.