2010-05-27 3 views
1

-Я пытаюсь скомпилировать mets netsnmp и расширить функциональность агента snmp.Неопределенные символы GCC/C++ динамически загружаемые * .so объекты

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

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

  • Некоторые из этих ссылок system calls, специфичный для агента snmp.

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

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

Благодарность S.S

ответ

1

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