Неопределенные символы GCC / C ++ динамически загружаемые * .so объекты - PullRequest
1 голос
/ 27 мая 2010

-Я пытаюсь скомпилировать MIB netsnmp и расширить функциональность агента snmp.

  • Когда я пытаюсь запустить демон и загрузить общий объект (* .so), демон жалуется на неопределенные символы. "Ошибка при вводе: имя файла.so: неопределенный символ: netsnmp_container_table_row_extract"

  • При дальнейшем добавлении #nm -D -u Filename.so печатает несколько неопределенных ссылок / символов

  • Некоторые из этих ссылок system calls относятся к агенту snmp.

  • У меня нет проблем с компиляцией кода. Все отсутствующие ссылки / символы являются вызовами агента netsnmp.

Вопрос: 1. Как я могу скомпилировать без разрешения этих символов? AFIK: Эти символы должны быть разрешены статически. 2. Я полагаю, что система не может разрешить их во время выполнения? 3. Как я могу преодолеть эту проблему? Любые предложения

Спасибо S.S

1 Ответ

1 голос
/ 27 мая 2010

Если символы из другой библиотеки, вы должны ссылаться на них во время компиляции. Если символы из основного приложения, приложение должно быть связано с --export-dynamic.

...