Ich habe eine Anwendung, die ich mit Qt Creator unter Linux erstellt habe und jetzt bereitstellen möchte. Allerdings möchte ich es nicht statisch aufbauen, da ich nicht möchte, dass es Open-Source-basiert ist. Ich habe versucht, die ldd ./YourExecutable
Befehl, aber nur die zusätzlichen Abhängigkeiten listet (und nicht hinzufügen) die die Anwendung benötigt, damit es ausgeführt wird. Meine Frage ist, wie sammle ich die notwendigen Abhängigkeiten, ohne diese Dateien einzeln suchen zu müssen? Gibt es unter Windows ein Tool wie "windeployqt.exe", das ich unter Linux für den gleichen Zweck verwenden kann? Oder gibt es einen besseren Ansatz als den, an den ich denke?Qt - Wie Anwendung dynamisch unter Linux bereitstellen?
Antwort
- Erhalten Cygwin setup.exe: http://www.cygwin.com/
1,1. Führen Sie setup.exe aus und fahren Sie mit der Paketauswahlliste fort.
1.2. Wählen Sie unter Entwicklung Kategorien, die Sie zum Kompilieren Ihrer Quelle benötigen. Für Beispiel 'GNU make'.
1.3. Beenden Sie die Installation.
Linux crosscompilers für Cygwin Get: "Cygwin-gcc-linux.tar.bz2" (68,2 Mb). md5sum: 340e91a346f5bb17e660db10e43005b8
Diese Compiler werden mit Crosstool 0.28-rc37 hergestellt. Dieses Paket enthält: gcc-3.3.4 und gcc-2.95.3 für i386 (glibc 2.1.3) und gcc-3.3.3 für amd64 (glibc 2.3.2).
Hinweis! Es gibt jetzt eine neuere Version von GCC mit glibc 2.3.2: "cygwin-gcc-3.3.6-glibc-2.3.2-linux.tar.bz2 (i386, x86_64)".
2.1. Kopieren Sie 'cygwin-gcc-linux.tar.bz2' nach 'c: \ cygwin' oder installieren Sie das Verzeichnis, das Sie in setup.exe unter ausgewählt haben.
2.2. Öffne die Cygwin-Shell und ändere das Verzeichnis mit 'cd /' in root.
2.3. Dekomprimieren zu Cygwin root mit dem Befehl: 'tar -jxvf cygwin-gcc-linux.tar.bz2'.
Cross-Compiler werden unter '/ opt/crostool' installiert. Sie können theim direkt oder mit den folgenden Befehlen verwenden: gcc-linux, g ++ - linux, gcc-linux-2.95, g ++ - linux-2.95, gcc-linux-x86_64 und g ++ - linux-x86_64.
Von: Cross-compiling on Windows for Linux Weitere Informationen here.
Es klingt wie Sie die gemeinsame Bibliothek Deployment-Option verwenden möchten:
http://doc.qt.io/qt-5/linux-deployment.html#creating-the-application-package
Dann, wenn Sie weiter als das gehen wollte, Sie in die Herstellung einer .rpm oder .deb aussehen könnte.
Es gibt viele Beispiele für qt-Projekte, die jetzt auf GitHub verfügbar sind und Pakete erstellt haben. Normalerweise müssen Sie für vordefinierte Binärdateien einen für x86 und einen separaten für x64 erstellen.
Hoffe, dass hilft.
- 1. Bereitstellen von MPI-Anwendung unter Windows Azure
- 2. Stellen Sie ein Qt-Projekt unter Linux
- 3. Lesen Batteriestatus unter Linux/Ubuntu QT mit
- 4. Wie stelle ich eine Qt-Anwendung unter Windows bereit?
- 5. Erstellen Linux Installation für Qt-Anwendung
- 6. Qt-Programm auf Multi-Plattform bereitstellen, wie?
- 7. Plattform-Plugin libqxcb.so gefunden, kann aber Qt-Bibliotheken nicht finden. (Bereitstellen von Qt-Anwendung für Linux mit dynamischer Verknüpfung)
- 8. Wie überprüft man, ob die Qt GUI-Anwendung bereits läuft (unter Linux)?
- 9. windeployqt.exe unter Linux-Distributionen
- 10. Bereitstellen von Qt C++ - Anwendung von Visual Studio qwindows.dll Fehler
- 11. Portierung einer Qt-Anwendung von Linux auf Windows
- 12. Monitor Batteriestatus unter Linux
- 13. Wie kompiliere ich Qt-Anwendung unter Manjaro KDE?
- 14. Qt erstellt keine Ausgabedateien in Debug/Release-Ordnern unter Linux
- 15. Wenn ich QT für Windows verwende, läuft meine Anwendung unter Linux/Mac/Windows?
- 16. Wie bilde ich eine BlackBerry-Anwendung unter Linux?
- 17. Minimieren einer Qt-Anwendung
- 18. Bereitstellen von Kolben-Anwendung mit FastCGI und Apache unter Windows
- 19. Wie kompilieren qt-Anwendung für verschiedene Plattformen
- 20. Bereitstellen einer SWT-Anwendung in Java Webstart
- 21. Embed externe Anwendung unter Windows
- 22. Wie kompilieren qt-Anwendung für Arm-v7
- 23. arpalert unter Linux
- 24. XBAP-Anwendung bereitstellen?
- 25. Run Qt-Anwendung beim Start als Linux-Daemon
- 26. NodeWebkit - Bereitstellen der Anwendung
- 27. Qt Bereitstellen auf Remote-Linux-Host - Wie definiere ich die bereitzustellenden Dateien?
- 28. C++ Flash unter Linux
- 29. Qt-GUI dynamisch manipulieren
- 30. Bereitstellen von Python-Anwendung
Also wollen Sie es so kompilieren, dass andere Leute es nicht lesen können, ohne es zu dekompilieren? –
Ja. Unter Windows kann ich einen Ordner erstellen, die ausführbare Datei darin einfügen und alle erforderlichen Abhängigkeiten und Dateien hinzufügen, damit die ausführbare Datei funktioniert und der Ordner als Release vorliegt. Ich versuche dasselbe unter Linux zu machen. – xcyl40
Würde es funktionieren, ein Werkzeug zu haben, das auf Windows installiert wird, aber kompiliert und für Linux verbindet? –