0

我正在将我的 c++ 引擎移植到 mac,所以我使用 premake 生成了一个 xcode 项目,它做得很好。

Box2D 内置于引擎中,其中一个文件“b2Broadphase.h”包含来自 c++ 标准库的算法。

这给出了这些错误:对于ctime 文件中的::clock_t has not been declared所有命令,依此类推。using

我无法弄清楚这一点,因为当使用 premake 构建 make 文件时,它运行良好并在 OSX 上构建了一个完美的库。它唯一的 Xcode 给出了这些错误。

4

1 回答 1

0

我的猜测是 Xcode 尚未配置为包含实现文件(.m 或 .cpp),或者尚未配置为链接到您正在使用的库。通常,您需要做两件事:1. 包含头文件 2. 使用实际可执行对象链接库。

在 Xcode 中,您可以通过在左侧的文件浏览器面板中选择项目(最顶部的项目)来执行此操作,并且主区域中有一个部分可以选择要链接到的库。您必须明确告诉它链接到您正在使用的任何库,即使您已经导入了它们的标头。

对于 .cpp 或 .m 实现文件,您需要告诉它将该文件包含在目标中以进行编译。这可以在构建设置(类似于 lib 包含的位置)中完成,或者当您选择文件时,右侧的检查器面板有一个小区域供您选择要包含文件的目标。(您只需要像这样“包含”实现文件,而不是 .h 文件)

于 2012-09-01T20:49:53.750 回答