gpt4 book ai didi

c++ - CMake - 两个库中的相同文件名发生冲突

转载 作者:行者123 更新时间:2023-11-27 23:00:32 26 4
gpt4 key购买 nike

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

最佳答案

不要将第三方库 header 直接放在编译器的 header 搜索路径中。将它们放在指示它们来自的库的目录后面。例如,wiiuse header 可能应该位于名为 wiiuse 的目录中,那个 目录应该位于搜索路径中。因此,为了从中包含 "IO.h" header ,您需要这样做:

#include <wiiuse/IO.h>

如果您不知道如何使用 XCode 处理搜索路径,我也不知道。但也许 this question会帮助你。

关于c++ - CMake - 两个库中的相同文件名发生冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28128268/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com