2008-12-18 6 views
44

Ich habe jetzt ein paar Stunden mit Qt gespielt. Ich fand, dass qmake Xcode-Projektdateien auf Mac OS X anstelle von guten alten Makefiles produziert. Ich möchte Xcode nicht jedes Mal starten, wenn ich "Hello, world" erstellen möchte.Erstellen von Qt Xcode Projekten von der Kommandozeile

Wie mache ich qmake Generieren von normalen Makefiles oder, wenn das etwas ist, das nicht auf dem Mac getan werden kann, wie kompiliere ich .xcodeproj Dateien von der Kommandozeile?

Ich versuchte xcodebuild -project myProject -alltargets. Ich bekomme eine Menge Output gefolgt von Abort trap.

+0

Sieht aus wie ein schlechtes Ziel. Versuchen Sie vielleicht, ein bekanntermaßen gutes Ziel oder einfach ohne Argumente anzugeben (wird das Standardziel erstellen) und sehen Sie, was passiert. – Olie

+0

kann klar sagen, wie Sie die QMAKESPEC-Variable auf macx-g ++ setzen, ich mochte QMAKESPEC = macx-g ++ am Terminal, aber wenn ich den qmake-Befehl schreiben konnte, konnte ich kein Makefile für mich generieren – issac

Antwort

21

Die Qt-Binärinstallationsprogramme für OS X von Trolltech verwenden standardmäßig die Erstellung von .xcodeproj-Dateien, wenn Sie qmake ausführen. Ich verwende XCode nicht zum Bearbeiten, daher ist es ein Problem, es zu öffnen, um das Projekt zu kompilieren.

Um Ihre Projekte von Terminal.app, nur eine Umgebungsvariable QMAKESPEC zu kompilieren macx-g ++

Wenn Sie wollen einfach nur ein bestimmtes Projekt vom Terminal kompilieren, das Verzeichnis gehen und laufen

qmake -spec macx-g++ 

Wenn Sie qmake ausführen, erstellt dies ein Makefile, das Sie verwenden können, indem Sie make ausführen.

+0

kann klar sagen, wie Sie die QMAKESPEC-Variable auf macx-g ++ setzen Ich habe QMAKESPEC = macx-g ++ am Terminal, aber wenn ich schreibe den qmake-Befehl war es nicht möglich, ein Makefile für mich zu erzeugen – issac

+2

@isaac 'export QMAKESPEC = macx-g ++ '(wenn du mindestens sh benutzt) –

60
$ man xcodebuild 

So ein typischer Befehl könnte wie etwas sein:

$ xcodebuild -project myProject.xcodeproj -alltargets 
+6

Ich musste den vollständigen Namen schreiben meine Projektdatei, um dies zum Laufen zu bringen, zB myProject.xcodeproj –

0

an diesem Teil des Rückens Spur der Suche:

# 2008-12-18 20: 40: 52,333 xcodebuild [1070: 613] [MT] ASSERTION FAILURE in /SourceCache/DevToolsBase/DevToolsBase-921/pbxcore/FileTypes/PBXCFBundleWrapperFileType.m:174 Details: Pfad sollte ein nicht leerer Stri sein ng, aber es ist ein leerer String # Objekt: # Methode: -subpathForWrapperPart: ofpath: withExtraFileProperties: # Thema: {name = (null), num = 1}

Dies bedeutet, dass etwas , vielleicht eine Ihrer Konfigurationsvariablen, ist leer, wenn sie auf eine Datei verweisen muss. Ich frage mich, ob Sie vielleicht ein zusätzliches Ziel in Ihrem Projekt haben, das nicht funktioniert, so dass das Bauen mit -alltargets das Problem verursacht.

Ich habe gerade xcodebuild ohne Argumente auf einem meiner Projekte getestet - es hat einen Standard-Build meines Projekts ohne Fehler gemacht. Was passiert, wenn Sie es ohne Argumente versuchen?

2

Versuchen Sie den folgenden Weg. Es muss funktionieren.

xcodebuild -project myProject.xcodeproj -alltargets 

Ich habe diese Methode in den meisten meiner Projekte verwendet.

Verwandte Themen