Referência indefinida a 'dlsym' e 'dlopen'

Estou compilando usando arm-linux-gnueabi-g ++ versão 4.7.3.

Eu tenho as bibliotecas arm-linux-gnueabi instaladas no local:

/ usr / arm-linux-gnueabi / lib, contém libdl.a, libdl.so, libdl.so.2 e libdl-2.19.so.

O libdl.so se vincula ao libdl.so.2, que se vincula ao libdl-2.19.so.

Estou tentando vincular a biblioteca dl (consulte a sequência de comandos abaixo), mas sempre recebo os erros de referência indefinidos.

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

Se eu compilar usando o g ++ 4.8.2 usando o seguinte comando, meu programa compila, vincula e executa bem.

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

Obviamente, ele não pode encontrar a biblioteca libdl.so; Eu pensei que, adicionando o caminho para o local da biblioteca apropriada usando o-L A bandeira resolveria o problema, mas não resolveu.

O que estou perdendo com o comando do compilador ARM?

questionAnswers(1)

yourAnswerToTheQuestion