2017-05-10 4 views
0

Wie kann ich eine Qt-Build, die ich mit dem -prefix Parameter portable zu anderen Maschinen gebaut habe machen? Wenn ich meine Build zu einem Speicherort auf einem anderen Computer kopieren, der sich von dem Standort unterscheidet, der für -prefix auf dem Erstellungscomputer qmakeqmake angegeben wird, beschwert sich über Dateien nicht zu finden und aus den Fehlermeldungen wird klar, dass die Dateien gesucht werden in dem Verzeichnis, das als -prefix Parameter auf der ursprünglichen Erstellungsmaschine verwendet wurde. Ich meine, die Builds, die aus dem Qt Maintenance Tool stammen, haben offensichtlich dieses Problem nicht, da sie nicht wissen, wo sie installiert werden.Wie man einen Qt-Build von Quellen portabel macht?

Meine configure Linie ist configure.bat -prefix C:\Development\qt-5.8.0-msvc2015-x86 -opensource -debug-and-release -nomake examples -confirm-license

Side Frage - wenn ich dieses Build für Visual Studio mit diesem verwenden bauen Qt nicht qwindows.dll Plattform-Plugin finden. Ich kopierte es in den Binär-Ordner unter platforms und es funktioniert, aber wie kommt die installierte Qt-Version um diese, ohne etwas zu kopieren?

Antwort

1

Die Builds, die aus dem Qt Maintenance Tool stammen, haben dieses Problem offensichtlich nicht, da sie nicht wissen, wo sie installiert werden.

Sie haben dieses Problem, und das Wartungstool arbeitet um es durch binäres Patchen der Installationspfade. Du könntest es auch tun. Die Pfade werden mit leerem Speicherplatz angehängt, um dies zu erleichtern.

Sie müssen nichts mit dem Build selbst tun. Erst nachdem Sie den Build auf dem Zielcomputer dekomprimiert haben, müssen Sie ihn patchen. Ein rudimentärer Patcher durchläuft alle Dateien und ersetzt das Installationspfad-Präfix durch den echten Pfad.

+0

Danke, vielleicht kannst du eine kleine Anmerkung zum Plugins-Problem geben? –

+0

Ich kann das Plug-in-Problem nicht reproduzieren. Solange Ihre Anwendung die Qt-Installation finden kann (z. B. durch Hinzufügen von 'QTDIR \ bin' zu' PATH'), wird sie auch die Plugins finden. –