QMAKE_LFLAGS + Static Portable .exe machen

Alles rund um die Programmierung mit Qt
Antworten
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

QMAKE_LFLAGS + Static Portable .exe machen

Beitrag von patrik08 »

Ich habe extra den PC vom meinen kinder geopfert....
um eine QT4 version zu haben die eben mit configure.exe -static uebersetz ist....

Aber der Mingw compiler will davon nichts wissen..... QT4 dll sind beim resultat keine notwendig... sagt ... der http://www.dependencywalker.com/

die pro datei ist genau wie http://www.qtcentre.org/forum/faq.php?f ... use_static
beschrieben gemacht .... mit dem

QMAKE_LFLAGS += -static
release ist auch drauf..

aber am ende sagt depends.exe dass die mingwm10.dll fehlt ... und tatsachlich wenn man den ordner mingw und qt umbennt geht die exe einfach nicht da eine kleine 16KB dll fehlt ... ist dass normal! warum sind die wxwindow exe ( http://wxwindows.org/ ) statisch machbar mit dem devcpp und mit qt4 nicht? mit dem gleichen compiler...

Somit kann man auch keinen installer machen mit qt... oder braucht mann ein nicht.... oben source compiler?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Das ist *kein* Qt-Problem sondern man sollte schon die statische mingwm10.lib benutzen... evtl. gibts eine vorkompilierte auf www.mingw.org
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Beitrag von patrik08 »

Dass ist die antwort von Mingw forum....
You should search the mailing list archives as this is asked every 6 months or so.

The answer is that any multi-threaded C++ app that uses exceptions must be compiled with -mthreads, and enabling this switch adds a dependency on mingwm10.dll and there is absolutely no way around that. It cannot be made static, due to how it works. If you make your app single-threaded and/or you disable exceptions (-fno-exceptions) then you could probably get away without needing -mthreads.
Bedeutet dass wenn QT4 die -mthreads / -fno-exceptions deaktiviert braucht man diese 16Kb dll nicht oder.. Wie muss ich dass begreifen?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Da Qt4 immer multi-threaded ist, heisst das, dass man die DLL immer braucht.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Beitrag von patrik08 »

Ist es mit dem Borland compiler auch so?? ... dass es unmoeglich ist ... ein installer zu machen .. oder eine portable exe... im usbstick ohne dll...
Bei diesen OS ist immer einen Universum dazwischen.... bei mac .. ob static oder debug releas... die applikation lauft einfach ueberall .. bei window muss einfach ein installer da sein...
Antworten