0

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

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

谢谢!

4

1 回答 1

3

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

#include "libavutil/time.h"

至少它以这种方式包含在来自 git 存储库的最新版本的 libav 中。如果您有旧版本,则不会这样做,您可能应该升级。如果您错误地将 libavutil 目录设置在包含路径中,则应将其删除(或更改为不包含 dir libavutil 本身的路径)。

于 2013-03-02T20:57:45.990 回答