Ich habe eine Ubuntu-Build-Maschine.Wie richte ich eine Build-Umgebung für Mingw und QT unter Linux ein?
Ich möchte für Windows kompilieren mit MinGW, die ich installiert habe.
Ich kompiliere QT-Apps (QT5 wie es passiert).
Ich benutze CMake.
Native Builds funktionieren einwandfrei, aber Cross Compiling schlägt schrecklich fehl, da CMake die von FindPackage verwendeten Dateien nicht finden kann. Um dies zu lösen, habe ich alle QT-Bibliotheksdateien, Header-Dateien, cmake-Dateien und Dateien unter shared/qt5 von einer MSYS2 MinGW/QT5-Installation (die wunderbar funktioniert) in den entsprechenden MinGW-Ordner auf meiner Ubuntu-Build-Maschine kopiert. Ich habe auch symbolisch die nativen Binärdateien für "qmake", "rcc", "moc" und "uic" an den richtigen Ort verlinkt, da die QT5 cmake-Dateien nach ihnen zu suchen schienen. Ich nehme an, ich hätte die cmake-Dateien bearbeiten sollen, um nach den Binärdateien mit dem Zielsystempräfix zu suchen, und die symbolischen Verknüpfungen umbenannt, aber ich war faul.
CMake gelingt es jetzt, aber wenn ich dann versuchen, „zu machen“ mein Programm ich folgende Fehlermeldung von „moc“ erhalten:
moc: could not find a Qt installation of ''
Ich denke, dass ich eine Umgebungsvariable oder zwei bin fehlt.
Idealerweise möchte ich eine Lösung, die einige vorgefertigte Ubuntu-Pakete spezifiziert, die ich installieren kann, um QT-Anwendungen für Windows unter Linux mit MinGW zu kompilieren, aber ehrlich gesagt, alles, was funktioniert, wäre großartig.
Haben Sie sich [mxe] (http://mxe.cc) angesehen? Es sollte alle Ihre Anwendungsfälle abdecken. – MateoConLechuga
MinGW, eine Kontraktion von "Minimalist GNU für Windows", ist eine minimalistische Entwicklungsumgebung für native Microsoft Windows-Anwendungen. Sie brauchen MinGW nicht unter Linux, weil Sie normale gewöhnliche GNU haben. – AlexanderVX
@AlexanderVX: Sie benötigen es, wenn Sie für Windows unter Linux erstellen möchten. In der Tat kann ich mir keine andere Möglichkeit vorstellen, für Windows unter Linux zu bauen. Bitte sagen Sie, ob Sie an eine denken können. – AlastairG