ich benutze den QT-Creator und versuche verzweifelt eine dll dynamisch in eine einfache QT-Konsoleanwendung zu laden. Nach dem Studium der QT-Hilfe scheint mir dazu der "dlopen(...)"-Befehl das Mittel der Wahl zu sein. Leider ist dieser Befehl aber wohl in der "dlfcn.h" definiert.
Beim kompilieren der Zeile #include <dlfcn.h> erhalte ich die Meldung " dlfcn.h: no such file or directory>". Es gibt die Datei mehrfach im QT-Installationsverzeichnis, aber meinem Projekt scheint da irgendeine Pfad zu fehlen.
Code: Alles auswählen
#include <QtCore/QCoreApplication>
#include "../testLibDlg/testLibDlg_global.h"
#include <dlfcn.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
void *handle;
char *error;
handle = dlopen("D:/C++QT/testLibDlg-build-desktop-Qt_4_8_1_for_Desktop_-_MinGW__Qt_SDK__Debug/debug/testLibDlg.dll", RTLD_LAZY);
if (!handle) {
fprintf(stderr, "%s\n", dlerror());
exit(EXIT_FAILURE);
}
dlerror(); /* Clear any existing error */
[...]
Jürgen