我已经玩 Qt 几个小时了。我发现 qmake 在 Mac OS X 上生成 Xcode 项目文件,而不是好的 ol' makefile。我不想每次构建“Hello, world”时都启动 Xcode。
我如何让 qmake 生成常规的 makefile,或者,如果这是在 Mac 上无法完成的事情,我如何.xcodeproj
从命令行编译文件?
我试过了xcodebuild -project myProject -alltargets
。我得到很多输出,然后是Abort trap
.
$ man xcodebuild
所以一个典型的命令可能是这样的:
$ xcodebuild -project myProject.xcodeproj -alltargets
Trolltech 为 OS X 提供的开源 Qt 二进制安装程序默认在您运行 qmake 时创建 .xcodeproj 文件。我不使用 XCode 进行编辑,因此打开它来编译项目很痛苦。
要从 Terminal.app 编译您的项目,只需将 QMAKESPEC 的环境变量设置为 macx-g++
如果您只想从终端编译某个项目,请进入该目录并运行
qmake -spec macx-g++
当你运行 qmake 时,这将创建一个 Makefile,你可以通过运行 make 来使用它。
试试下面的方法。它必须工作。
xcodebuild -project myProject.xcodeproj -alltargets
我在大部分项目中都使用过这种方法。
查看回溯的这一部分:
# 2008-12-18 20:40:52.333 xcodebuild[1070:613] [MT] ASSERTION FAILURE in /SourceCache/DevToolsBase/DevToolsBase-921/pbxcore/FileTypes/PBXCFBundleWrapperFileType.m:174 # 详细信息:路径应该是非空字符串,但它是一个空字符串 # Object: # Method: -subpathForWrapperPart:ofPath:withExtraFileProperties: # Thread: {name = (null), num = 1}
这意味着某些东西,可能是您的配置变量之一,在需要引用文件时是空白的。我想知道的是,如果您的项目中有一个额外的目标不起作用,那么使用 -alltargets 构建是导致您的问题的原因。
我刚才在我的一个项目上测试了没有任何参数的 xcodebuild - 它对我的项目进行了默认构建,没有错误。如果你在没有参数的情况下尝试它会发生什么?