CMake - 两个库中的相同文件名发生冲突
CMake - Same Filename in two libraries collide
我正在基于这个框架开发一个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搜索路径,我也不会。但也许这个问题会对你有所帮助。
相关文章:
- 从命令行c++发送文本文件名
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 写入位置0x0000000C时发生访问冲突
- GL_SHADERSTORAGE_BUFFER位置是否与其他着色器位置冲突
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- 为什么文件名被设置为一个点,而不是在读取矢量中的文件名时
- 引发异常:读取访问冲突**dynamicArray**为0x1118235.发生
- C++LinkedList问题.数据类型之间存在冲突?没有匹配的构造函数
- 链表中写入访问冲突的未知原因
- C++中的openCV Mat访问冲突
- 当Microsoft文档仅包含 C# 示例时,如何查找 C++ 包含文件名
- 如何使 std::sort 在 std::swap 和我的命名空间的模板化交换之间没有名称冲突?
- C++尝试深度复制唯一指针时出现内存访问冲突
- 如何在CPP的给定目录中列出UTF编码的文件名?
- 错误:使用通用引用的声明冲突
- 如何解决GTest和LibTorch联动冲突
- 两个运营商的一些奇怪的冲突<<
- 如何处理标头名称与标准库标头冲突,但不更改文件名?
- Cmake依赖关系与同一标头文件名的冲突
- CMake - 两个库中的相同文件名发生冲突