LINUX.ORG.RU

При сборке библиотеки появляется undefined symbols __dso_handle


0

0

В проектных файлах библиотеки подключаются #include<vector> #include<string> using namespase std;

Собираю библиотеку все норм - бинарник получен. Проверяю тестовой программой не грузится. ldd -d выдает undefined symbol __dso_handle

В майкфайле пробовал разные ключи - результата нет. Собираю под Федора 6.

В Makefile:

CPP=g++ CFLAG= -O -Wall -ggdb --no-implicit-templates SOFLAGS = -shared -nostartfiles ALLLIB=-ldl -lpthread -lstdc++

$(EXE): $(OBJ) $(CPP) $(CFLAG) $(SOFLAGS) $(OBJ) $(ALLLIB) -o $(EXE)

%.o: %.cpp makefile.1 $(CPP) $(ALL_CPPFLAGS) $(CFLAG) -c $<

Подскажите как решить проблему?

anonymous

Ответ на: комментарий от Sancho_s_rancho

Дело в том, что я использую функции _init и _fini, и если убрать опцию -nostartfiles появляется ошибка multiple definition of _init и multiple definition of _fini.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.