Undefinierter Verweis auf 'dlsym' und 'dlopen'

Ich kompiliere mit arm-linux-gnueabi-g ++ Version 4.7.3.

Ich habe die arm-linux-gnueabi-Bibliotheken am folgenden Ort installiert:

/ usr / arm-linux-gnueabi / lib enthält libdl.a, libdl.so, libdl.so.2 und libdl-2.19.so.

libdl.so verlinkt auf libdl.so.2, der auf libdl-2.19.so verweist.

Ich versuche, eine Verknüpfung zur DLL-Bibliothek herzustellen (siehe Befehlsfolge unten), erhalte jedoch immer die undefinierten Referenzfehler.

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

Wenn ich mit g ++ 4.8.2 kompiliere und den folgenden Befehl verwende, kompiliert, verlinkt und führt mein Programm einwandfrei aus.

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

Offensichtlich kann die Bibliothek libdl.so nicht gefunden werden. Ich dachte, dass durch Hinzufügen des Pfads zum Speicherort der entsprechenden Bibliothek mithilfe des-L flag würde das Problem beheben, tat es aber nicht.

Was fehlt mir beim ARM-Compiler-Befehl?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage