链接器链接正确的文件,但无法找到符号

时间:2013-11-14 18:11:43

标签: c++ c gcc linker ld

我正在玩libav *。我写了一个简单的程序来打开一个文件并输出它中有多少个流,这些东西让我的脚湿透了。我链接avformat,avcodec和avutil。但是,我从ld得到未定义的引用错误。未定义的引用都是libav *函数。我看了一下详细的链接器输出,看到它与正确的库链接,我使用objdump确认符号位于库中,但是ld仍然会抛出未定义的引用错误。

1 个答案:

答案 0 :(得分:2)

你是用C ++编程的吗?如果是这种情况,则需要添加“extern”C“{...};”。

看看这里:Why do we need extern "C"{ #include <foo.h> } in C++? 并注意libav *是用C语言编写的。