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 zu LIBS
  • Auch zeigen uns die Zeile aus dem Makefile, die Sie versucht haben.
InformationsquelleAutor Tom | 2014-08-12
Schreibe einen Kommentar