2008-12-18 162 views
44

我一直在玩Qt幾個小時。我發現qmake在Mac OS X上生成Xcode項目文件,而不是良好的'makefile'。我不想在每次我想構建「Hello,world」時啓動Xcode。從命令行構建Qt Xcode項目

如何讓qmake生成常規makefile,或者,如果這是Mac上無法完成的事情,我該如何從命令行編譯.xcodeproj文件?我想試試xcodebuild -project myProject -alltargets。我得到了很多輸出,其次是Abort trap

+0

看起來像一個不好的目標。試着指定一個已知好的目標,或者只是沒有參數(將構建默認目標),看看會發生什麼。 – Olie 2009-01-03 18:31:32

+0

可以清楚地說明你是如何設置QMAKESPEC變量爲macx-g ++的,我在終端上做了QMAKESPEC = macx-g ++,但是當我編寫qmake命令時,它無法爲我生成一個makefile文件 – issac 2009-01-07 03:33:46

回答

21

當您運行qmake時,來自Trolltech的用於OS X的開放源代碼Qt二進制安裝程序默認爲創建.xcodeproj文件。我不使用XCode進行編輯,所以打開它來編譯項目是一件很痛苦的事情。

彙編從Terminal.app您的項目,只需設置QMAKESPEC的環境變量的MacX-G ++

如果你只想編譯從終端某個項目,進入該目錄,並運行

qmake -spec macx-g++ 

當你運行qmake時,這將創建一個Makefile,你可以通過運行make來使用它。

60
$ man xcodebuild 

因此,一個典型的命令可能是這樣的:

$ xcodebuild -project myProject.xcodeproj -alltargets 
+6

我不得不寫下全名我的項目文件得到這個工作,例如,myProject。xcodeproj – 2009-02-10 18:54:01

0

看着你的背部走線的這部分:

# 2008-12-18 20:40:52.333 xcodebuild [1070:613] [MT] /SourceCache/DevToolsBase/DevToolsBase-921/pbxcore/FileTypes/PBXCFBundleWrapperFileType.m中的[MT]安裝失敗:174 # 詳細信息:路徑應該是非空的條紋NG,但它是一個空字符串 # 對象: # 方法:-subpathForWrapperPart:ofPath:withExtraFileProperties: # 主題:{名稱=(空),NUM = 1}

這意味着什麼,也許你的一個配置變量,當它需要引用一個文件時是空白的。我想知道的是,如果你的項目中有一個額外的目標不起作用,那麼使用-alltargets構建是造成你的問題的原因。

我測試了xcodebuild,沒有任何參數在我的項目之一 - 它做了我的項目沒有錯誤的默認構建。如果你沒有參數地嘗試,會發生什麼?

2

請嘗試以下方法。它必須工作。

xcodebuild -project myProject.xcodeproj -alltargets 

我在我的大部分項目中都使用過這種方法。