0

我正在开发一个基于此框架的 Oculus 项目: https ://github.com/OculusRiftInAction/OculusRiftInAction

我将 rpavlik 中的 wiiuse 库添加到其中。https://github.com/rpavlik/wiiuse

在这两个项目中都存在一个名为“IO.h”的文件。使用 CMake 生成 XCode 项目后,文件“opengl/Font.cpp”中的 OculusRiftInAction 代码出现错误。它拉入“IO.h”文件,但它是来自 wiiuse 库的文件。我不知道如何从 OculusRiftInAction 框架的原始位置提取“IO.h”文件。

我怀疑这是一个通用的 CMake 或 XCode 问题。有人知道吗?

固定的:

我将wiiuse库设为静态,它以某种方式解决了这个问题。但我不知道为什么它修复了它。我仍然可以使用该库,但它不再覆盖主代码中的 IO.h 文件。

4

1 回答 1

4

不要将第三方库头文件直接放在编译器的头文件搜索路径中。将它们放在指示它们来自的库的目录后面。例如,wiiuse标头可能应该位于名为 的目录中wiiuse,并且目录应该位于搜索路径中。因此,为了包含其中的"IO.h"标头,您需要执行以下操作:

#include <wiiuse/IO.h>

如果您不知道如何使用 XCode 处理搜索路径,我也不知道。但也许这个问题会对您有所帮助。

于 2015-01-24T17:47:24.130 回答