Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > линковка библиотеки


Автор: Ches 12.1.2009, 16:37
Привет всем. 
Есть библиотека, некий SDK.so файл. При сборке программы, в которой она подгружается, выводятся ошибки
Код

./SDK.so: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::_S_empty_rep_storage'
./SDK.so: undefined reference to `std::__default_alloc_template<true, 0>::deallocate(void*, unsigned int)'
./SDK.so: undefined reference to `std::__default_alloc_template<true, 0>::allocate(unsigned int)'

использую gcc 4.2.1
Есть подозрения, что библиотека собрана gcc3, что и вызывает ошибки. Точнее либа собрана с libstdc++, в свою очередь собраной gcc3.
Вот я и хочу уточнить, может ли это быть из-за разных версий компилятора, как бы это узнать, и есть ли возможность все-таки использовать эту либу с gcc3?
Ну и вообще, кто что посоветует...

Автор: MAKCim 12.1.2009, 17:30
Цитата(Ches @  12.1.2009,  16:37 Найти цитируемый пост)
Вот я и хочу уточнить, может ли это быть из-за разных версий компилятора

да, вполне возможно, что версии libstdc++ разные

Добавлено через 1 минуту и 21 секунду
проще SDK.so пересобрать на 4.2.1

Автор: Ches 13.1.2009, 16:18
Цитата(MAKCim @  12.1.2009,  17:30 Найти цитируемый пост)
проще SDK.so пересобрать на 4.2.1

Боюсь, будет не просто заставить это сделать разработчиков. 
Можетет есть смысл скачать gcc постарее, третий например?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)