Всем привет.
Нужно попользовать STL под SunOS, но при линковке выдает что не может найти реализацию для методов string, etc. Какую библиотеку с реализацией нужно подлинковать?
Заранее спасибо.
Здравствуйте Аноним, Вы писали:
А>Всем привет. А>Нужно попользовать STL под SunOS, но при линковке выдает что не может найти реализацию для методов string, etc. Какую библиотеку с реализацией нужно подлинковать? А>Заранее спасибо.
Линовать ничего не нужно, т.к. это шаблоны.
Попробую использовать другой компилятор(g++ к примеру).
У меня была такая проблема.
В этом же форуме мне посоверовали это.
gcc не линковал, g++ работал нормально.
Почему так я не знаю?
Здравствуйте Nicolay, Вы писали:
А>>Всем привет. А>>Нужно попользовать STL под SunOS, но при линковке выдает что не может найти реализацию для методов string, etc. Какую библиотеку с реализацией нужно подлинковать? А>>Заранее спасибо. N>Линовать ничего не нужно, т.к. это шаблоны.
Хе, я бы не стал так категорично заявлять. Часть этих шаблонов вполне может быть инстанцирована для некоторых типов параметров и запихнута в библиотеку. Причем std::basic_string<char>, наряду со стримами для char — очень подходящие кандидаты для принудительного инстанцирования. Например, MSVC 6.0 в стандартной поставке так и делает
N>Попробую использовать другой компилятор(g++ к примеру). N>У меня была такая проблема. N>В этом же форуме мне посоверовали это. N>gcc не линковал, g++ работал нормально. N>Почему так я не знаю?
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[2]: Как попользовать STL
От:
Аноним
Дата:
14.11.02 15:58
Оценка:
Здравствуйте Nicolay, Вы писали:
N>Здравствуйте Аноним, Вы писали:
N>Линовать ничего не нужно, т.к. это шаблоны.
Что это шаблоны я знаю
N>Попробую использовать другой компилятор(g++ к примеру). N>У меня была такая проблема. N>В этом же форуме мне посоверовали это. N>gcc не линковал, g++ работал нормально. N>Почему так я не знаю?
Попробывал g++, помогло, спасибо за совет. Скорее всего GCC которым я пользовался не корректно обрабатывает шаблоны.
Здравствуйте, Аноним, Вы писали:
[skip]
А вопрос то по моему самый популярный в этом форуме. Как ни загляну — обязательно кого-то интересует
A>Какую библиотеку с реализацией нужно подлинковать?
Библиотека называется libstdc++ для gcc < 3.0, для gcc >= 3.0 — libstdc++-3
Если вызывать компилятор как g++ то он сам её подключает, иначе — надо самому указывать
-lstdc++ . Так-же g++ считает все файлы, какие можно плюсовыми, а gcc — сишными. Других серьезных
различий между gcc и g++ не замечено, то есть во всём остальном они идентичны, но этого уже достаточно,
чтобы всегда использовать g++ как компилятор C++ а gcc — только как компилятор С
Никогда не делайте ничего правильно с первого раза, иначе никто потом не оценит, как это было сложно.