Fehlermeldung bei Programmstart (fehlende DLL)

Alles rund um die Programmierung mit Qt
Antworten
Algorithm93
Beiträge: 26
Registriert: 24. April 2011 10:37

Fehlermeldung bei Programmstart (fehlende DLL)

Beitrag von Algorithm93 »

Hallo,

habe ein Programm mit Qt 4.8.4 unter Windows 8 64Bit geschrieben.
Der Compiler ist MinGW und als IDE habe ich Qt Creator verwendet.
Das Programm funktioniert soweit, wie ich es mir vorgestellt habe, allerdings kann ich das Programm nur vom Qt Creator aus starten (mit einem Klick auf "Erstellen / Ausführen").
Wenn ich mit dem Windows Explorer in den Ordner gehe, in dem die erstellte .exe Datei ist und diese starten möchte kommt die Meldung vom Anhang.

Jetzt könnte ich ja einfach die .dll Dateien in den Ordern, in dem die .exe Datei ist kopieren (oder in irgendein Windows-Verzeichnis), allerdings ist das "unschön", wenn ich das Programm weitergeben möchte.
Da es nur ein sehr kleines Programm ist, reicht eigentlich eine einzelne .exe Datei.

Jetzt habe ich davon gehört, dass man das Programm statisch linken könnte!? Leider habe ich da keinen Ansatz, wie man das in Qt Creator einstellen kann.
Ich habe schon unter "Extras / Einstellungen" rumgesucht, allerdings nichts gefunden :-(
habe auch unter "Projekte" noch ein -static hinzugefügt, aber dann gibt es einen Fehler mit qmake (ohne genauere Fehlerbeschreibung).

Hat jemand eine Idee, was ich noch machen könnte?

Gruß
Doran
Dateianhänge
Qt-Fehler.PNG
Qt-Fehler.PNG (8.78 KiB) 3269 mal betrachtet
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

Re: Fehlermeldung bei Programmstart (fehlende DLL)

Beitrag von -=Freaky=- »

du kannst dein programm statisch gegen die qt-bibliotheken linken, ja. dazu musst du allerdings qt selbst neu kompilieren, und dann als statische bibliotheken (nicht dynamische bibliotheken/"shared libs", wie du es jetzt hast). dann kannst du dein programm normal bauen und dagegen linken und du wirst keine abhaengigkeiten zu dynamischen qt-bibliotheken mehr haben.
der typische weg ist aber eher, die qt-dlls, die man braucht, zum program zu tun. das sind ja oft auch nicht viele, vor allem bei wenig umfangreichen programmen (core, gui?).

// edit: entschuldige, jetzt habe ich erst die fehlermeldung im anhang gesehen. das ist ja gar keine qt-lib.
hier wird etwas zu den mingw-libs besprochen: http://www.qtcentre.org/threads/29489-R ... ic-linking
aber danach wirst du, wie gesagt, immer noch abhaengig sein von den qt-dlls.
Zuletzt geändert von -=Freaky=- am 26. Dezember 2012 14:16, insgesamt 2-mal geändert.
Algorithm93
Beiträge: 26
Registriert: 24. April 2011 10:37

Re: Fehlermeldung bei Programmstart (fehlende DLL)

Beitrag von Algorithm93 »

Hallo,

ok, wenn ich Qt selbst neu kompilieren muss, dann werde ich wohl eher die DLL's mitliefern...
Danke für die Antwort!
Doran
Antworten