Неопределенная ссылка на 'dlsym' и 'dlopen'

Я компилирую с использованием arm-linux-gnueabi-g ++ версии 4.7.3.

У меня есть библиотеки arm-linux-gnueabi, установленные по адресу:

/ usr / arm-linux-gnueabi / lib, содержит libdl.a, libdl.so, libdl.so.2 и libdl-2.19.so.

libdl.so ссылается на libdl.so.2, который ссылается на libdl-2.19.so.

Я пытаюсь установить связь с библиотекой dl (см. Строку команды ниже), но всегда получаю неопределенные ошибки ссылок.

arm-linux-gnueabi-g++ -I. -I../ -I../Comms/Linux  -Wall -DLINUX -fpic -o ../../work/MyProgram main.o
-L../../work -L/usr/arm-linux-gnueabi/lib -lComms -lConsole -lUtilities -ldl
../../work/libUtilities.so: undefined reference to `dlsym'
../../work/libUtilities.so: undefined reference to `dlopen'
collect2: error: ld returned 1 exit status

Если я компилирую, используя g ++ 4.8.2, используя следующее commend, тогда моя программа компилируется, связывается и выполняется нормально.

g++ -I. -I../ -I../Comms/Linux  -Wall -DLINUX -fpic -o ../../work/MyProgram main.o
-L../../work -lComms -lConsole -lUtilities -ldl

Очевидно, он не может найти библиотеку libdl.so; Я думал, что, добавив путь к местоположению соответствующей библиотеки с помощью-L Флаг решит проблему, но это не так.

Чего мне не хватает в команде компилятора ARM?

Ответы на вопрос(1)

Ваш ответ на вопрос