我已经和Qt玩了几个小时了。我发现qmake在Mac OS X上生成Xcode项目文件而不是很好的'makefile'。每次我想构建“Hello,world”时,我都不想启动Xcode。
如何让qmake生成常规makefile,或者如果这是在Mac上无法完成的,我如何从命令行编译.xcodeproj
文件?
我试过了xcodebuild -project myProject -alltargets
。我得到了很多输出,然后是Abort trap
。
答案 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 - 它没有错误地执行了我的项目的默认构建。如果你在没有参数的情况下尝试它会发生什么?