0

libav* で遊んでいます。ファイルを開いて、ファイルに含まれるストリームの数を出力する簡単なプログラムを作成しました。avformat、avcodec、avutil とリンクしています。ただし、ld から未定義の参照エラーが発生します。未定義の参照はすべて libav* 関数です。詳細なリンカ出力を見て、正しいライブラリとリンクしていることを確認し、objdump を使用してシンボルがライブラリにあることを確認しましたが、ld はまだ未定義の参照エラーをスローします。

4

1 に答える 1

2

C++ でプログラミングしていますか? その場合は、「extern "C" {...};」を追加する必要があります。

こちらをご覧ください: C++ で extern "C"{ #include <foo.h> } が必要なのはなぜですか? libav* は C で書かれていることに注意してください。

于 2013-11-14T18:22:11.460 に答える