Здраствуйте.
Использую пример из man dlopen (на opennet.ru). Есть бибилиотека, у казываю к ней полный путь. dlopen открывает возвращает не NULL handler. dlsym "говорит" Undefined symbol "my_func". Еще не все, компилю с опцией -rdynamic, но без -ldl. Простой пример(все из того же мана) без -ldl работает. При компиляции с -ldl компилятор (g++ (GCC) 3.2.2 [FreeBSD] 20030205 (release)) "выдает" : g++ -c client.cpp -ggdb -I/usr/local/include -I/usr/local/firebird/include -rdynamic -I include/
g++ -o client -L ./lib -lclient_poligon_mon ClientSocket.o Socket.o client.o -ggdb -L/usr/local/lib -lnetsnmp -lnetclass -lcrypto -lcrypt -L/usr/local/firebird/lib -lgds -ldl -lc_r -ggdb -I/usr/local/include -I/usr/local/firebird/include -rdynamic -I include/
/usr/bin/ld: cannot find -ldl
gmake: *** [client] Ошибка 1
Все что могу сказать + еще что в библиотеке есть точно my_func ( в mc при F3 видно ), да и я ее сам собирал, уверен что есть. Библиотеку пробовал strip'ать : результат тот же самый.
Подскажите пожалуйста в чем моя проблема, и где "копать".
Заранее большое спасибо.
|