Qt Creator/Linux: festlegen von compiler - /linker-option -ldl für dynamische Bibliotheken
Bin ich alle gegoogelt raus! Wertschätzung, wer kann mir helfen ...
Ich gebaut habe test.so und es nennen möchten, die dynamisch mit dlopen(), dlsym () etc. definiert in dlfcn.h
Ich kompilieren kann meine aufrufende Programm (main.cpp) auf der Kommandozeile ohne Fehler
g++ main.cpp -ldl -o myprog
Ohne die ldl-Schalter, erhalte ich die Fehlermeldung: undefined reference dlopen().
Auch, wenn die ldl-Schalter ist nicht nach der Quelle-Datei in der g++ - argument-Liste, dann bekomme ich den gleichen Fehler.
Meine Frage ist: wie kann ich kompilieren meine main.cpp in Qt Creator?
Qt Creator meldet den gleichen Fehler: undefined reference dlopen()
Habe ich versucht, direkt hinzufügen -ldl auf die flags in der Makefile (CFLAGS, CXXFLAGS, LFLAGS), aber ohne Erfolg. (Vielleicht die flags eingefügt werden, bevor der source-Dateien, in denen ldl-Cholesterin nicht funktioniert?)
Hier ist meine main.cpp :
#include <dlfcn.h>
int main()
{
void* handle = dlopen("./test.so", RTLD_LAZY);
return 0;
}
Bin ich mit Qt Creator 2.4.1 auf linux
Vielen Dank 🙂
- Mit qmake, versuchen Sie
-ldl
zuLIBS
- Auch zeigen uns die Zeile aus dem Makefile, die Sie versucht haben.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Ihrem
project_name.pro
- Datei, die Sie hinzufügen sollten, um dieLIBS
variable etwa so: