Ich versuche, eine Boost.Build.jamroot-Datei zum Kompilieren eines Qt 4.8-Projekts zu erstellen, aber es scheint die .ui-Dateien und die .cpp-Dateien zu ignorieren, die moc: ed heißen sollten. Ich habe versucht, in qt4.jam herumzustochern und noch ein paar ECHO: s hinzuzufügen, aber ich bin mir nicht sicher, wo ich hinschauen soll.
Es scheint, dass die run-Methode von uic-generator nicht aufgerufen wird (zB init), aber ich denke, sollte es sein.
Meine Jamroot-Datei sieht ungefähr so aus:
%Vor%Die einzige Ausgabe, die ich bekomme, ist:
%Vor%Wenn ich die bjam --debug-Konfiguration ausführe, gibt qt4.jam alle korrekten Pfade für meine Qt-Installation aus.
Was ist los? Vielleicht ist es nicht kompatibel mit Qt 4.8? Oder verwende ich es einfach falsch? Obwohl der Code fast wörtlich aus den Dateien unter examples / qt stammt.
Wie kann ich es benutzen? Danke für jede Hilfe.
Bearbeiten: Verwenden von gcc 4.7 mit der MinGW Distro 9.0 von Ссылка und der Boost.Build, die mit Boost 1.49.0 geliefert wird.
ersetzen ./ src / etwas. cpp zu ./ src / etwas. hpp , dh:
%Vor%bjam 's qt -Beispiele neigen zu Missverständnissen: main.cpp Modul verwechselt Quelle und Kopfzeile Dateien.
Denken wir an moc Prozess-Header-Dateien in der Regel (Dateien mit Q_OBJECT 's Klassendeklaration (en): in den meisten Fällen enthalten die Quelldateien diese nicht)
Nicht eine genaue Antwort auf Ihre Frage, sondern eine Anregung: Was ist mit der Verwendung von qmake? Es ist auch für normale C ++ Builds geeignet. Wenn Sie viel Qt verwenden, ist qmake ziemlich praktisch, obwohl die Dokumentation verbessert werden könnte.
Siehe
für weitere Referenzen
Tags und Links c++ qt bjam boost.build