2009-04-11 9 views
3

Verpflichtet jemand Qt zu ihrer eigenen Quellcodeverwaltung? Wenn ja, wie machst du das? Übernehmen Sie das gesamte Qt-Verzeichnis oder wählen Sie nur die aus, die Ihre Anwendung benötigt (bin/lib/include/src)Verpflichtet jemand Qt zu ihrer eigenen Quellcodeverwaltung?

Wie gehen Sie mit dem Fall um, wenn eine neue Qt-Version herauskommt?

Ich frage, weil ich versuche, Build-Automatisierung und Qt Moc ist ein bisschen ein Schmerz ... und frage mich nur, wie die Leute behandeln Committing 3rd-Party-Bibliothek im Allgemeinen.

+0

Ähnliche: http://stackoverflow.com/questions/49196/storing-third-party-libraries-in-source-control – lothar

Antwort

5

In meiner Firma verpflichten wir Qt nicht zur Quelle, wir kompilieren es separat auf Build-Maschinen und verlinken dann im Projekt, ob das nun C++, Java (Jambi) oder Python (PyQt) ist.

In der Build/Package-Phase notieren unsere Build-Tools die Abhängigkeiten und enthalten DLLs usw. nach Bedarf. Wenn Sie interessiert sind, verwenden wir CMake von Kitware.

http://www.cmake.org/

Es hat den zusätzlichen Vorteil, dass Cross-Plattform. Berücksichtigen Sie abhängig von Ihrer Projektgröße die ergänzenden Tools CPack, CTest und CDash auch von Kitware. (Disclaimer: Ich arbeite nicht für Kitware, aber ich helfe bei der Programmierung eines Projekts, das von einigen Produkten von Kitware abhängig ist).

Ich habe auch von einigen Leuten gehört, die großen Erfolg gehabt haben, Qt's eigenes QMake Werkzeug zu benutzen, das mit der Quellenverteilung von Qt kommen sollte.

1

Ich bin nicht sicher über die meisten Ihrer Post, aber eine Sache, die ich Ihnen sagen kann, ist, dass Sie nicht jedes Mal aktualisieren müssen, wenn die neue Version herauskommt. Warten Sie eine Weile und Sie werden sich später wahrscheinlich selbst bedanken. Es ist in Ordnung, Versionen zu Hause zu ändern, um damit herumzudrehen, aber wenn Sie es kommerziell machen, könnte es ein echter Schmerz in den Hintern sein! Microsoft hat mich das auf die harte Tour lernen lassen!

1

Mit Git verwende ich Git-Submodul. Dies erlaubt mir, zu einem anderen Repository (git, svn usw.) zu verlinken, aber nicht die Quelle in Ihrem Repository zu speichern, Sie verwenden einfach "git submodule", um es zu ziehen. Wenn Sie Ihr Hauptrepo drücken, enthält es nicht die Submodule. Auf diese Weise können Sie Ihre lokale Kopie behalten, und alle anderen können die Submodule mit dem Submodulbefehl abrufen.

See: http://www.kernel.org/pub/software/scm/git-core/docs/git-submodule.html

Verwandte Themen