QT5.8 -static -static-runtime benötigt VSC++ Runtime

Alles rund um die Programmierung mit Qt
Antworten
Freak5
Beiträge: 1
Registriert: 9. Mai 2017 12:41

QT5.8 -static -static-runtime benötigt VSC++ Runtime

Beitrag von Freak5 »

Hallo,
ich habe mit dem VisualStudio 2015 QT5.8 versucht statisch zu compilieren. Zuerst mit dynamisch gelinkter Visual studio Redistributable und später mit statisch gelinkter.

Code: Alles auswählen

configure -prefix /testqt5.8dynRT  -static   -opengl desktop -no-openssl   -opensource  -confirm-license    -skip qtwebkit   -release 

configure -prefix /testqt5.8statRT  -static -static-runtime  -opengl desktop -no-openssl   -opensource  -confirm-license    -skip qtwebkit   -release 
Ich musste dazu natürlich \MD auf \MT schalten und die Datei wurde ein wenig größer. Das ist jedoch der einzige Unterschied. Trotz " -static -static-runtime" verlangt die produzierte Exe-Datei nach den Runtime-DLLs.

Woran kann das liegen? Irgendwas muss sich ja geändert haben, dass ich den Schalter zum Compilen ändern musste. Aber wie kann es sein, dass noch die DLLs benötigt werden?

P.S.: Was ich mich auch frage gerade beim "static -static-runtime" ging das übersetzen im make Prozess ziemlich schnell. Dafür hat "jom install" ewig gedauert und im Hintergrund den Compiler mehrfach aufgerufen. Ich dachte, da muss am Ende nur noch kopiert werden?

Edit: Ich bekomme außerdem diese Warnung, wenn ich die statische Runtime versuche zu nehmen:

Code: Alles auswählen

1>LINK : warning LNK4098: Standardbibliothek "LIBCMT" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.
Ich habe "Verknpfungsbibliotheksabhängigkeiten" deaktiviert, wie es mir hier empfohlen wurde, wo ich die Frage auch gepostet habe.

Die Frage "Warum funktioniert das?" steht aber noch immer.
Antworten