我使用的是boost(它使用time.h)和一个C库(libav),它有一个头文件,也叫做time.h。所以当boost试图使用time.h时,它调用libav中的time.h作为ansic标准时间。
如何强制libav找到自己的时间h,并使用ANSI C标准时间boost.h?我根本不想修改库,因为这段代码需要在任何地方构建。
谢谢!
最佳答案
libav中的time.h不应与/usr/include中的time.h冲突,因为它包含在libav源中:
#include "libavutil/time.h"
至少在最新版本的git库libav中包含了这种方式。如果您有较旧的版本,那么您可能应该升级。如果在include path中错误地设置了libavutil目录,则应删除该目录(或更改为不包含dir libavutil本身的路径)。
关于c++ - CMake冲突的头文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15179169/