生成冲突的头文件

CMake conflicting header files

本文关键字:文件 冲突      更新时间:2023-10-16

我正在使用boost(它使用time.h)和一个C库(libav),它有一个头文件,也称为time.h。因此,当boost尝试使用time.h时,它会从libav调用time.h,而不是ANSI C标准time.h。

我如何强制libav找到它自己的time.h和boost使用ANSI C标准time.h?而且我根本不想修改库,因为这些代码需要在任何地方构建。

谢谢!

time.h from libav不应该与time.h from/usr/include冲突,因为它包含在libav源文件中:

#include "libavutil/time.h"

至少它包含在git库的libav的最新版本中。如果您使用的是旧版本,则无法做到这一点,您可能应该升级。如果您错误地在include path中设置了libavutil目录,您应该删除它(或者更改为不包含dir libavutil本身的路径)。