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

Linker links correct file, but fails to find symbols

本文关键字:链接 找不到 符号 文件      更新时间:2023-10-16

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

你在用C++编程吗?如果是这种情况,您需要添加"extern "C" {...};"。

看看这里:为什么我们需要 extern "C"{ #include } 在C++?请注意,libav* 是用 C 语言编写的。