从命令行构建Qt Xcode项目

时间:2008-12-18 14:28:08

标签: xcode macos qt makefile

我已经和Qt玩了几个小时了。我发现qmake在Mac OS X上生成Xcode项目文件而不是很好的'makefile'。每次我想构建“Hello,world”时,我都不想启动Xcode。

如何让qmake生成常规makefile,或者如果这是在Mac上无法完成的,我如何从命令行编译.xcodeproj文件?

我试过了xcodebuild -project myProject -alltargets。我得到了很多输出,然后是Abort trap

4 个答案:

答案 0 :(得分:60)

$ man xcodebuild

所以典型的命令可能是这样的:

$ xcodebuild -project myProject.xcodeproj -alltargets

答案 1 :(得分:21)

来自Trolltech的OS X的开源Qt二进制安装程序默认为在运行qmake时创建.xcodeproj文件。我不使用XCode进行编辑,因此打开它来编译项目是一件痛苦的事。

要从Terminal.app编译项目,只需将QMAKESPEC的环境变量设置为macx-g ++

如果您只想从终端编译某个项目,请进入该目录并运行

qmake -spec macx-g++

当您运行qmake时,这将创建一个Makefile,您可以通过运行make来使用它。

答案 2 :(得分:2)

尝试以下方式。它必须工作。

xcodebuild -project myProject.xcodeproj -alltargets

我在大部分项目中都使用过这种方法。

答案 3 :(得分:0)

查看背部跟踪的这一部分:

  

#   2008-12-18 20:40:52.333 xcodebuild [1070:613] [MT] ASSERTION FAILURE /SourceCache/DevToolsBase/DevToolsBase-921/pbxcore/FileTypes/PBXCFBundleWrapperFileType.m:174   #   详细信息:path应该是非空字符串,但它是一个空字符串   #   宾语:   #   方法:-subpathForWrapperPart:ofPath:withExtraFileProperties:   #   线程:{name =(null),num = 1}

这意味着当需要引用文件时,某些东西(可能是您的配置变量之一)是空白的。我想知道的是,如果你的项目中有一个额外的目标不起作用,那么使用-alltargets构建就会导致你的问题。

我刚刚在我的一个项目上测试了没有任何参数的xcodebuild - 它没有错误地执行了我的项目的默认构建。如果你在没有参数的情况下尝试它会发生什么?