qt5concurent.dll usw

Alles rund um die Programmierung mit Qt
DimitriJunker
Beiträge: 47
Registriert: 8. September 2014 12:12

qt5concurent.dll usw

Beitrag von DimitriJunker »

Nochmal ein altes Problem, wie packt man ein mit QTCreator erzeugtes Programm zusammen damit es auf einem anderen Computer unter Windows läuft? Wenn ich das exe starte wird mir gemeldet, daß besagte dll fehlt, suche ich sie auf meinem PC und kopiere sie ins Verzeichnis bekomme ich einen Fehler 0xc00007b, also habe ich wohl eine 32bit dll mit einem 64bit exe gemischt. Google ich nach qt5concurent.dll und 64bit kommen alle möglichen Seiten aber keine die nach einer "offizilen" QT Seite aussieht. Das Tool Dependency Walker habe ich auch schon gefunden, hilft mir aber nicht dabei eine Quelle für die dlls zu finden. Muss man wirklich bei jeder neuen Version wieder alle dlls dazu packen oder kann man z.B. inno Setup Compiler o.ä. anweisen diese falls nötig aus dem www nachzuladen? Ach ja hier im Forum nach dll suchen funktioniert nicht, es sei ein zu häufiger Begriff.
helmut.jakoby
Beiträge: 19
Registriert: 17. Januar 2012 15:26
Kontaktdaten:

Re: qt5concurent.dll usw

Beitrag von helmut.jakoby »

windeployqt.exe ?
DimitriJunker
Beiträge: 47
Registriert: 8. September 2014 12:12

Re: qt5concurent.dll usw

Beitrag von DimitriJunker »

Danke, aber das Resultat verwirrt mich jetzt, da sind Unmengen an Files die ich bisher nicht beigefügt habe. Ich hatte bisher mit einer älteren QT Version nur 32Bit erzeugt und damals irgendwie die nötigen dlls dazu kopiert. windeplayqt fügt mehr dlls bei, außerdem einen Ordner translations mit 21 qm Files, obwohl ich das Programm nur in Französisch und Englisch übersetzt habe, die Ordner bearer, iconengines und styles mit je einer dll,
imageformats mit 9 dlls für Bildformate die ich teils nicht kenne und sicher nicht nutze. Ist das wirklich alles nötig?
Kann QTCreator dieses windeplayqt nicht afrufen? Wenn nicht wäre dies wohl ein Verbesserungsvorschlag.
Die größte dll die windeplayqt hinzufügt ist opengl32sw mit 15MB, die hatte ich z.B. bisher nicht, und wenn ich sie umbenenne läuft das Programm trotzdem, im Dependency walker finde ich sie auch nicht,
veeman
Beiträge: 277
Registriert: 3. Oktober 2012 01:43
Kontaktdaten:

Re: qt5concurent.dll usw

Beitrag von veeman »

Schau dir die Kommandozeilenbefehle von windeployqt an.

Für dich interssant:
--no-angle und --no-opengl-sw
Insofern du keine Hardwarebeschleunigung für Grafiken brauchst, insofern du kein OpenGL und Oder QGraphicsView verwendest wirst du dies nicht benötigen.

--no-webkit2
Wenn du kein Webkit aka. WebView verwendest, kannstdu dies auch setzen.

--no-plugins
Um die ganzen Bildformat DLLs nicht mit zu kopieren.

Ggf noch weitere optionen.

Leider ist es so, dass ab qt5 ziemlich viel überarbeitet wurde und man stärker auf externe Bibliotheken sowie Internationalisierung setzt, dadurch sind die Qt5 Deployement-Abhängigkeiten und der damit zussamenhängede Festplattenspeicherbedarf relativ groß.

Ansonsten solltest du alle QT DLLs in deinem install Ordner finden können.
DimitriJunker
Beiträge: 47
Registriert: 8. September 2014 12:12

Re: qt5concurent.dll usw

Beitrag von DimitriJunker »

Hallo,

da frage ich mich doch was windepoyqt sinnvolles macht. Ich hätte erwartet, daß es sich das Programm ansieht und dann nur das kopiert was gebraucht wird. Sonst könnte man ja auch einfach ein Zip anbieten das man dazupackt. Falls ich mich mal langweile sehe ich mir das genauer an, vieleicht programmier ich dann selber was;-) Aber bis dahin schonmal danke
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: qt5concurent.dll usw

Beitrag von Christian81 »

Das ist genau das was windeployqt auch macht - es schaut welche Dlls benötigt werden. Dazu schaut es auch was für Plugins benutzt werden (soweit dies möglich ist) und kopiert natürlich auch die Plugin-Dependencies - das siehst Du mit Dependency Walker nicht wenn Du nur das Executable scannst...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
DimitriJunker
Beiträge: 47
Registriert: 8. September 2014 12:12

Re: qt5concurent.dll usw

Beitrag von DimitriJunker »

Hallo,

veeman schrieb das man durch --no einiges weglassen könne, wenn windeployqt nur das kopieren würde was man braucht könnte man doch nichts weglassen oder wo ist da mein Denkfehler?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: qt5concurent.dll usw

Beitrag von Christian81 »

Angle ist eine Zwischenschicht für OpenGL - wenn man plain OpenGL verwenden will (oder eben gar kein OpenGL) dann kann man das weglassen. Das kann windeployqt nicht aus dem Executable herausfinden.
Plugins sind per se optional
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
DimitriJunker
Beiträge: 47
Registriert: 8. September 2014 12:12

Re: qt5concurent.dll usw

Beitrag von DimitriJunker »

Hallo,

wäre es dann nicht sinnvoller die pro-Datei zu analysieren statt der exe?
Andere Idee, statt die ganzen dlls in das Installationspaket zu packen könnte man doch auch windepoyqt beifügen und im Rahmen der Installation ausführen oder?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: qt5concurent.dll usw

Beitrag von Christian81 »

Und was ist wenn mehrere exectables in einer pro-Datei/Hierarchie gebaut werden oder qmake gar nicht benutzt wird?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
DimitriJunker
Beiträge: 47
Registriert: 8. September 2014 12:12

Re: qt5concurent.dll usw

Beitrag von DimitriJunker »

Wo ist da das Problem? Man kann jetzt auch einen Ordner angeben, da können auch mehrere exe drin sein. Es gäbe bei mehreren exe in einem Pro 2 Lösungen, entweder automatisch die Files für alle hinzufügen, oder den User fragen. Ideal wäre sowieso es dann in qtcreator zu integrieren, also beim Erstellen dies gleich miterledigen.
Und wer kein qmake nutzt kann ja immer noch die alte Variante nutzen, man muß ja nicht das alte entsorgen wenn man was neues einführt
DimitriJunker
Beiträge: 47
Registriert: 8. September 2014 12:12

Re: qt5concurent.dll usw

Beitrag von DimitriJunker »

Mit dem ersten Programm funktioniert es jetzt, aber bei einem andern bekomme ich diese Fehlermeldung:
---------------------------
DyjTrack.exe - Systemfehler
---------------------------
Die Ausführung des Codes kann nicht fortgesetzt werden, da libgcc_s_dw2-1.dll nicht gefunden wurde. Durch eine Neuinstallation des Programms kann das Problem möglicherweise behoben werden.
---------------------------
OK
---------------------------
Es fehlt also trotz windeployqt noch eine dll, nämlich libgcc_s_dw2-1 vorhanden ist: libgcc_s_seh-1hat da windeployqt die falsche dll angefügt? Und jetzt?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: qt5concurent.dll usw

Beitrag von Christian81 »

Die andere mal mit kopieren und ggf. einen Bugreport schreiben wenn es wirklich der Fall sein sollte.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
DimitriJunker
Beiträge: 47
Registriert: 8. September 2014 12:12

Re: qt5concurent.dll usw

Beitrag von DimitriJunker »

Hallo, ich habe die dll aus C:\Qt\5.11.3\mingw53_32\bin kopiert und der Fehler ist weg, aber dafür erhalte ich jetzt:
---------------------------
dyjtrack.exe - Anwendungsfehler
---------------------------
Die Anwendung konnte nicht korrekt gestartet werden (0xc000007b). Klicken Sie auf "OK", um die Anwendung zu schließen.
---------------------------
OK
---------------------------
Soweit ich den Fehler kenne tritt er auf wenn man 32 Bit Exe mit 64Bit dll mischt oder umgekehrt, also habe ich nach https://sourceforge.net/p/mingw-w64/dis ... /339d3607/ die exe und alle dlls getestet, und da waren wirklich 3 64Bit dlls: libgcc_s_seh-1hat, libstdc++-6 und libwinpthread-1 aber auch als ich die 3 gelöscht hatte bekam ich den Fehler immer noch, erst nachdem ich die beiden letzteren durch die Versionen aus C:\Qt\5.11.3\mingw53_32\bin ersetzte kann ich das Programm starten. Also für den Augenblick OK, aber ich muss das mal ganz genau eruieren und dann schauen wo ich den Bugreport poste. Danke soweit
DimitriJunker
Beiträge: 47
Registriert: 8. September 2014 12:12

Re: qt5concurent.dll usw

Beitrag von DimitriJunker »

Falls jemand den bugreport verfolgen will: https://bugreports.qt.io/browse/QTBUG-74482
Antworten