我正在基于此框架开发一个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文件。

最佳答案

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

#include <wiiuse/IO.h>


如果您不知道如何使用XCode来查找搜索路径,那么我也不会。但是this question可能会帮助您。

09-11 18:44