【问题标题】:Building Qt Xcode Projects From the Command Line从命令行构建 Qt Xcode 项目
【发布时间】:2010-09-27 12:56:07
【问题描述】:

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

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

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

【问题讨论】:

  • 看起来是个坏目标。尝试指定一个已知良好的目标,或者不带参数(将构建默认目标),看看会发生什么。
  • 可以清楚地说明您如何将 QMAKESPEC 变量设置为 macx-g++,我在终端上确实喜欢 QMAKESPEC=macx-g++,但是当我编写 qmake 命令时,它无法为我生成 makefile 跨度>

标签: xcode macos qt makefile


【解决方案1】:
$ man xcodebuild

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

$ xcodebuild -project myProject.xcodeproj -alltargets

【讨论】:

  • 我必须写下我的项目文件的全名才能让它工作,例如,myProject.xcodeproj
【解决方案2】:

奇趣科技为 OS X 提供的开源 Qt 二进制安装程序默认在您运行 qmake 时创建 .xcodeproj 文件。我不使用 XCode 进行编辑,因此打开它来编译项目很痛苦。

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

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

qmake -spec macx-g++

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

【讨论】:

  • 可以清楚地说明您如何将 QMAKESPEC 变量设置为 macx-g++,我在终端上确实喜欢 QMAKESPEC=macx-g++,但是当我编写 qmake 命令时,它无法为我生成 makefile 跨度>
  • @isaac export QMAKESPEC=macx-g++(如果你至少使用 sh)
【解决方案3】:

试试下面的方法。它必须工作。

xcodebuild -project myProject.xcodeproj -alltargets

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

【讨论】:

    【解决方案4】:

    看看你的这部分回溯:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-22
      • 1970-01-01
      • 2011-11-29
      • 1970-01-01
      • 2022-01-24
      • 1970-01-01
      • 2014-09-13
      • 2012-07-30
      相关资源
      最近更新 更多