如何在Xcode 4中编译单个文件?

38

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

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


由于苹果公司似乎已经完全从Xcode 4中删除了此功能,我认为我们唯一能够恢复它的方法是制作一个Xcode插件。不幸的是,插件API没有文档,并且苹果公司也没有发表任何关于尽快开放它的声明。 - inspector-g
2
我有同样的问题。我喜欢使用这种方法进行移植 - 我将文件从另一个平台带过来并构建它们,以查看需要逐个修复的错误。 - jheriko
你应该接受 John Stephen 的答案。 - ksl
6个回答

13

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

Product > Perform Action > Compile filename.cpp

要将Cmd+K指定给它,请转到

File > Preferences > Key Bindings > Product Menu group

你会发现编译文件的地方,可以分配一个键。默认情况下,Cmd+K 现在已经被分配为清除控制台,因此请务必删除该绑定以避免冲突。


7
我发现实现这一点的一种方法是使用以下菜单命令:
Product -> Generate Output -> Generate Preprocessed File
Product -> Generate Output -> Generate Assembly File

这可能不完全符合您的要求,但它将编译单个文件。


2
在Xcode 5中,您可以使用“Product -> Perform Action -> Compile "filename.cpp"”(确保选择了源文件并将其添加到活动目标)进行编译。 - Emerald Weapon

-1

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


-2

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

同样地,Cmd+Return也被重新映射为Cmd+R(如果您曾经使用过该快捷键)


1
编译单个文件与构建整个项目不同。 - fbrereto
@fbrereto 我认为oey192意识到了这一点,但是只有1个声望值的人无法发表评论。 - Mahmoud Al-Qudsi
@MahmoudAl-Qudsi 我明白了;我没有那种印象,因为在Xcode 3中,Cmd+K(编译单个源文件)与构建整个项目(在Xcode 3和4上都是Cmd+B)不是同一个操作。也许我只是误解了他的回答... - fbrereto
据我理解,他指出先前的键盘快捷键即使看起来有效,实际上并不是因为它已被重新映射为解决方案构建。 - Mahmoud Al-Qudsi

-2
如果您的文件是C(或C ++)文件,则只需打开终端,进入文件所在的文件夹并键入以下命令:
gcc -o outputFile inputFile.c

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

希望这有所帮助 :)


并不是他要求的内容,而且,只要编译了Objective C支持和必要的库包含,gcc就可以编译它。 - Tomas Pruzina

-3

对于单文件编译的常见要求是检查其语法错误(至少对我来说是这样)。由于Xcode4可以在您输入时突出显示语法错误,因此似乎苹果已经删除了该功能。


编译单个文件不仅仅是关于语法错误的问题。它还会告诉你该文件是否已充分声明其依赖项,以及其他一些信息。 - Kaitain

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接