Неопределенная ссылка на символ, даже если nm указывает, что этот символ присутствует в общей библиотеке 2

Я нашел тот же вопрос здесь, но ответ мне не помогает.

Я пишу тестовое приложение для использования библиотеки nglib. Но когда я пытаюсь скомпилировать его, я получаю неопределенные ссылки:

$ g++ test1.cpp -L. -lnglib
test1.cpp: In function ‘int main()’:
/tmp/cchcKZfx.o:test1.cpp:function main: error: undefined reference to 'Ng_Init()'
/tmp/cchcKZfx.o:test1.cpp:function main: error: undefined reference to 'Ng_NewMesh()'
...
/tmp/cchcKZfx.o:test1.cpp:function main: error: undefined reference to 'Ng_Exit()'
collect2: ld returned 1 exit status

но, например, когда я ищу Ng_Init() в libnglib.so, я получаю положительный результат.

$ nm -D libnglib.so | grep Ng_Init
000000000008d0d0 T _ZN5nglib7Ng_InitEv

Так что я озадачен, почему я получаю неопределенные ошибки ссылок?!

1 ответ

Решение

_ZN5nglib7Ng_InitEv ослабляет nglib::Ng_Init() который не совпадает с Ng_Init(),

Другие вопросы по тегам