CMake冲突的头文件

时间:2013-03-02 20:35:11

标签: c++ c cmake

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

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

谢谢!

1 个答案:

答案 0 :(得分:3)

来自libav的

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

#include "libavutil/time.h"

至少它在git repository的最新版本的libav中包含了这种方式。如果你的版本较旧,那就不行了,你应该升级。如果你错误地在include路径中设置libavutil目录,你应该删除它(或更改为不包含dir libavutil本身的路径)。