0

ブースト (time.h を使用) と、time.h とも呼ばれるヘッダー ファイルを持つ C ライブラリ (libav) を使用しています。したがって、Boost が time.h を使用しようとすると、ANSI C 標準の time.h に並置された libav から time.h が呼び出されます。

libav に独自の time.h を検出させ、ANSI C 標準の time.h を使用するようにブーストするにはどうすればよいですか? また、このコードはどこにでもビルドする必要があるため、ライブラリをまったく変更したくありません。

ありがとう!

4

1 に答える 1

3

libavのtime.hは、次のようにlibavソースに含まれているため、/ usr/includeのtime.hと競合しないようにする必要があります。

#include "libavutil/time.h"

少なくとも、gitリポジトリからのlibavの最新バージョンにこの方法が含まれていました。古いバージョンをお持ちの場合は、それができない場合は、おそらくアップグレードする必要があります。誤ってインクルードパスにlibavutilディレクトリを設定した場合は、それを削除する必要があります(または、dir libavutil自体を含まないパスに変更します)。

于 2013-03-02T20:57:45.990 に答える