2009-03-21 6 views
2

Ich habe ein ziemlich komplexes Xcode-Projekt und möchte Qt hinzufügen. Ich weiß, dass ich ein neues Projekt mit qmake -spec macx-xcode project.pro erstellen kann, aber ich möchte mein altes Projekt nicht manuell über das automatisch generierte Qt-Projekt konfigurieren. Gibt es eine andere Option?Hinzufügen von Qt zum Xcode-Projekt?

[in einer allgemeineren Frage unten bearbeitet]

Es scheint, wie es wäre einfacher, einfach als mein Build-System verwenden Qmake. Fügen Sie daher meinen alten Projekt-Build-Prozess der Datei .pro hinzu und verwenden Sie das, um eine neue .xcodeproj zu generieren? Ich würde das nur tun, wenn ich die .pro-Datei umfassend konfigurieren könnte, so dass ich die .xcodeproj nicht manuell konfigurieren muss - ist das machbar? Ich möchte wirklich nicht mit der Konfiguration der .xcodeproj jedes Mal herumspielen müssen, wenn ich qmake laufen lasse.

Im Wesentlichen ist qmake (oder ein Meta-Build im Allgemeinen) ein gültiger Ersatz für ein normales Build-System, so dass ich das resultierende Build-System, das von qmake erzeugt wird, nicht optimieren muss?

Gibt es neben den von Trolltech bereitgestellten manual und tutorial bessere Ressourcen? Ich bin besorgt, dass wikipedia sagt, dass qmake in erster Linie für den internen Gebrauch und nicht gut dokumentiert ist.

Antwort

3

Einer der Hauptpunkte der Verwendung von Qt ist die Portabilität des Gui. Es ist nur sinnvoll, diese Funktion auf Ihren Build-Prozess zu erweitern, indem Sie qmake verwenden und Benutzern/Entwicklern die Möglichkeit geben, das Build-System zu erstellen, das sie verwenden möchten (make, visualstudio, xcode).

Nein, qmake ist nicht gut dokumentiert und prägnanter gibt es nicht viele Beispiele, wie es für machen. Aber es ist ähnlich zu machen und sollte intuitiv sein. Warum nicht den Overhead absorbieren, um es zu lernen und den Nutzen an Ihre Benutzer/Entwickler weiterzugeben?

3

Erstellen Sie ein leeres xcode-Projekt mit qmake und binden Sie die Compilereinstellungen aus dem generierten Makefile in Ihr vorhandenes Projekt ein. Natürlich müssen Sie Ihr vorhandenes Projekt so einrichten, dass qmake als Pre-Build-Schritt ausgeführt wird, wenn Sie Qt-spezifische Erweiterungen verwenden.

Was ist Ihrer Meinung nach die einfachste Methode, um etablierte Projekte mit Qt zu integrieren?

Das hängt von der Art Ihrer Arbeit ab. Ich wünschte, ich hätte hier eine spezifischere Antwort geben können, aber ich kann es wirklich nicht. Verwenden Sie Qt Professional? In diesem Fall können Sie Unterstützung bekommen (zumindest so war es, als ich das letzte Mal bei 3.3 gearbeitet habe). Wenn alles, was Sie an Qt interessiert, der Grafikteil ist, würde ich sagen, dass Sie sich nicht darum kümmern, Ihr Build-System zu ändern, sondern dafür sorgen, dass Sie den Code zum Kompilieren und Verknüpfen bekommen und gut laufen. Aber, wenn Sie Signale und Slots verwenden und was nicht - denken Sie darüber nach, sich zu bewegen.

Würdest du mir empfehlen, die xcodeproj fusion zu machen, nach der ich gefragt habe und die du beantwortet hast, oder sollte ich bei qmake wie bei einer Frage anfangen?

Betrachten Sie wieder die Größe Ihres Projekts. Angenommen, es handelt sich um ein ziemlich komplexes Projekt, würde ich vermuten, dass Sie etwa zwei bis drei Arbeitstage Zeit haben, um das Build-System neu zu schreiben? Ist dieses Projekt ein ernstes Projekt, das über einen gewissen Zeitraum hinweg aufrechterhalten wird? Ist das plattformübergreifend? Wirst du Qt überall benutzen?

Wenn es einen übertriebenen Grund gibt zu glauben, dass Qt der Weg nach vorne ist, würde ich vorschlagen, dass Sie beginnen, ihr Build-System zu verwenden.

+0

Was ist Ihrer Meinung nach die einfachste Methode, um etablierte Projekte mit Qt zu integrieren? Würdest du mir empfehlen, die xcodeproj merge zu machen, nach der ich gefragt habe und die du beantwortet hast, oder sollte ich bei qmake von vorne anfangen, so wie ich eine Frage bearbeitet habe? – bias

1

Es ist wirklich, wirklich, wirklich schön, eine einzelne IDE und einen Debugger zu haben, der auf allen Plattformen arbeitet, für die Sie schreiben, aber ich habe gefunden, dass es auch ziemlich nett ist, die nativen Werkzeuge einfach zu verwenden.

Sobald Sie sich die Zeit genommen haben, jedes Build-System zu lernen, ist es ziemlich einfach, die Projekte in einem sehr präzisen Grad zu verwalten.