У меня есть программа ANSI C, которая динамически загружает .so-файл, используя dlopen(), проходящий через RTLD_LAZY. Я получаюdlerror: Неопределенный символ «_nss_cache_cycle_prevention_function» на FreeBSD 7.2
Undefined symbol "_nss_cache_cycle_prevention_function"
Предупреждения при обращении файла .so во FreeBSD 7.2. nss_cache_cycle_prevention_function() не является одной из функций моей программы, и я полагаю, что она должна поступать из FreeBSD. Это также может быть проблемой для Linux, хотя я не испытываю этой проблемы. Я бы предпочел не загружать специальные файлы заголовков FreeBSD в мою программу. Я хотел бы либо включить эту функцию переносимым способом, либо подавить эти предупреждения.
Да, моя программа выплескивает любые возвращаемые значения NULL dlerror() в журнал после вызова dlsym(). Я сделал то, что вы сказали, и назвал dlerror(), прежде чем я позвонил dlsym(), и предупреждения Undefined symbol исчезли! Благодарю. –