5

我已经开始使用 XCode,而且它似乎大部分都可以工作。

令人讨厌的是它每次都会编译所有源文件,甚至是那些没有改变的源文件。

我掌握了 openframeworks,每次都浪费时间编译 openframeworks 源文件,尽管它们没有改变。

这是我的 IDE 和机器详细信息:

XCode 版本 3.1.2 组件版本 Xcode IDE:1149.0 Xcode Core:1148.0 ToolSupport:1102.0

Mac OS X 版本 10.5.6

有没有人遇到过同样的问题?任何解决方法?

4

3 回答 3

9

您保存了一些文件,然后操作系统已向后同步您的系统时间。现在检测到这些文件将来会被修改。您应该在项目主文件夹中执行以下 bash 命令:

find . -exec touch {} \;
于 2011-08-21T13:47:52.030 回答
3

许多(大多数?)构建系统使用文件的最后修改日期和时间来确定是否需要执行重新编译。我将首先验证文件日期的行为是否符合预期;例如,如果文件位于网络驱动器上,则可能存在不同的时间设置或时钟差异,这会使文件看起来在将来被修改,因此构建系统总是编译它们。就此而言,如果它们位于网络驱动器上,则使用的协议可能不包括修改日期,并且系统只是将其默认为“现在”,因此看起来每个文件都刚刚被修改。

于 2009-11-05T17:50:46.923 回答
0

我的经验是,它会重新编译已更改的内容以及依赖于已更改内容的内容。因此,如果您正在编辑一个 .h 文件,该文件会#import'd 到所有其他文件中,那么所有内容自然都需要重新编译。但是,如果您只编辑一个 .m 文件,那么只有 .m 应该被重新编译。我不知道有任何 Xcode 设置会改变这种行为。

于 2009-11-05T17:53:48.737 回答