Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从命令行生成Qt Xcode项目_Xcode_Macos_Qt_Makefile - Fatal编程技术网

从命令行生成Qt Xcode项目

从命令行生成Qt Xcode项目,xcode,macos,qt,makefile,Xcode,Macos,Qt,Makefile,我已经和Qt玩了几个小时了。我发现qmake在macosx上生成Xcode项目文件,而不是好的ol'makefile。我不想每次想构建“你好,世界”时都启动Xcode 如何使qmake生成常规makefile,或者,如果这是Mac上无法实现的,如何从命令行编译.xcodeproj文件 我尝试了xcodebuild-project-myProject-alltargets。我得到很多输出,然后是中止陷阱 $ man xcodebuild 因此,典型的命令可能类似于: $ xcodebuild -

我已经和Qt玩了几个小时了。我发现qmake在macosx上生成Xcode项目文件,而不是好的ol'makefile。我不想每次想构建“你好,世界”时都启动Xcode

如何使qmake生成常规makefile,或者,如果这是Mac上无法实现的,如何从命令行编译
.xcodeproj
文件

我尝试了
xcodebuild-project-myProject-alltargets
。我得到很多输出,然后是
中止陷阱

$ man xcodebuild
因此,典型的命令可能类似于:

$ xcodebuild -project myProject.xcodeproj -alltargets

查看您的回溯轨迹的这一部分:

# 2008-12-18 20:40:52.333 xcodebuild[1070:613][MT]在/SourceCache/DevToolsBase/DevToolsBase-921/pbxcore/FileTypes/PBXCFBundleWrapperFileType.m:174中断言失败 # 详细信息:路径应该是非空字符串,但它是空字符串 # 对象: # 方法:-subpathForWrapperPart:of Path:withExtraFileProperties: # 线程:{name=(null),num=1}

这意味着当需要引用文件时,某些内容(可能是您的配置变量之一)为空。我想知道的是,你的项目中是否有一个额外的目标不起作用,所以使用-alltargets构建是造成问题的原因


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

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

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

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

qmake -spec macx-g++

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

尝试以下方法。它必须起作用

xcodebuild -project myProject.xcodeproj -alltargets

我在大多数项目中都使用过这种方法。

看起来是个坏目标。请尝试指定一个已知的良好目标,或者不带参数(将生成默认目标),然后看看会发生什么。您可以清楚地说明如何将QMAKESPEC变量设置为macx-g++,我喜欢终端上的QMAKESPEC=macx-g++,但当我编写qmake命令时,它无法为mecan生成makefile。清楚地说明如何将QMAKESPEC变量设置为macx-g++,我喜欢在终端处使用QMAKESPEC=macx-g++,但当我编写qmake命令时,它无法为mecan生成makefileme@isaac
导出QMAKESPEC=macx-g++
(如果您至少使用sh)我必须写下我的项目文件的全名才能让它工作,例如myProject.xcodeproj