продолжаю экспериментировать с библиотеками (so) и С++. добавляю в lib.cpp #include <iostream>. Компиляемся без проблем (но очень долго!!!). Запускаю экзешник, который сразу вываливается с сообщением relocation error: lib.so: undefined symbol: __dso_handle смотрим, что слинковалось $:ld lib.so lib.so: the `gets' function is dangerous and should not be used. ld: warning: cannot find entry symbol _start; not setting start address lib.so: undefined reference to `__dso_handle' lib.so: undefined reference to `vtable for __cxxabiv1::__si_class_type_info' lib.so: undefined reference to `operator delete(void*)' lib.so: undefined reference to `__gxx_personality_v0' lib.so: undefined reference to `_Unwind_Resume' lib.so: undefined reference to `std::ios_base::Init::Init()' lib.so: undefined reference to `vtable for __cxxabiv1::__class_type_info'lib.so: undefined reference to `std::ios_base::Init::~Init()' lib.so: undefined reference to `operator new(unsigned)' тихо фигею и лезу в гугл - о! флейм на gcc.gnu.org - чел пишет о такой же проблеме как и у меня, а в ответ невнятные рассуждения о ключах gcc и в конце концов, признание, мол, да проблема есть и мы ее пофиксили! ставлю последние binutils (со всей байдой типа ld ar и прочей) К сожалению не помогает - проблема остается. Кто уже сталкивался с подобной фигней? Как лечится (не надо говорить о том, что писать надо на Си)?
Форум —
Development