【问题标题】:How does one compile single file Xcode 4?如何编译单个文件 Xcode 4?
【发布时间】:2023-03-17 09:51:01
【问题描述】:

虽然我以前在 Xcode 的早期版本中使用 Cmd+K 编译单个源文件,但在 Xcode 4 中如何做同样的事情? (请注意,这与预处理或显示文件的反汇编不同。)如果建议从命令行编译,则必须包括项目的设置、包含路径、预处理器定义等。

一个示例用例是我更改了头文件但只想测试更改对单个源文件的影响,而不是依赖于该头文件的所有文件。

【问题讨论】:

  • 既然 Apple 似乎已经从 Xcode 4 中完全删除了这个功能,我认为我们要恢复它的唯一方法就是制作一个 Xcode 插件。不幸的是,插件 API 没有记录在案,Apple 也没有发表任何关于很快开放它的声明。
  • 我也有同样的问题。我喜欢使用这种东西作为移植方法——我从另一个平台带来文件并构建它们,以查看我需要在每个文件的基础上修复错误的位置。
  • 你应该接受 John Stephen 的回答。

标签: xcode4 compilation usability


【解决方案1】:

我发现的一种方法是使用以下菜单命令:

Product -> Generate Output -> Generate Preprocessed File
Product -> Generate Output -> Generate Assembly File

这可能不是你想要的,但它会编译单个文件。

【讨论】:

  • 在 Xcode 5 中你有 Product -> Perform Action -> Compile "filename.cpp"(确保源文件被选中并添加到活动目标中)。
【解决方案2】:

如果您的文件是 C(或 C++)文件,则只需打开终端,转到文件所在的文件夹并键入

gcc -o outputFile inputFile.c

我不太熟悉 Objective-c,但 GCC可能可以工作,因为它只是 C 的超集,就像 C++ 一样。

希望对您有所帮助:)

【讨论】:

  • 不是他所要求的,是的,gcc 可以编译它,只要编译目标 C 支持并提供必要的库包含。
【解决方案3】:

单个文件编译的常见要求是检查它的语法错误。 (至少对我来说)。由于 xcode4 在您键入时会突出显示语法错误。苹果似乎删除了该功能。

【讨论】:

  • 编译单个文件不仅仅是语法错误。除其他外,它将向您显示该文件是否已充分声明其依赖项。
【解决方案4】:

Xcode 3 及之前版本的键盘快捷键 Cmd+K 已重新映射为 Cmd+B Xcode 4

同样,Cmd+Return 被重新映射为 Cmd+R(如果你每个用过)

【讨论】:

  • 编译单个文件不等于编译整个项目。
  • @fbrereto 我认为 oey192 意识到了这一点,但是有 1 业力的人不能发布 cmets。
  • @MahmoudAl-Qudsi 我明白了;我没有这种印象,因为 Cmd+K(在 Xcode 3 中编译单个源文件)与构建整个项目(Xcode 3 和 4 上的 Cmd+B)的操作不同。也许我只是在阅读他的回答错了……
  • 按照我的理解,他指出以前的键盘快捷键,即使它看起来有效,也不是因为它已重新映射到解决方案构建。
【解决方案5】:

当您构建项目时,xcode 会运行编译命令。您可以检查日志,搜索您的文件并在终端上复制粘贴该命令。它只会编译您在终端上复制/粘贴的文件。

【讨论】:

    【解决方案6】:

    该命令已移至“执行操作”子菜单。往下看

    Product > Perform Action > Compile filename.cpp
    

    要将 Cmd+K 分配给它,请转到

    File > Preferences > Key Bindings > Product Menu group
    

    然后您会找到编译文件,您可以在其中分配密钥。 Cmd+K 现在默认分配给 Clear Console,因此请务必删除该绑定以避免冲突。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-25
      • 2011-07-17
      • 2012-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-09
      • 2012-12-19
      相关资源
      最近更新 更多