【发布时间】:2014-07-08 23:40:48
【问题描述】:
我正在尝试在 Windows 应用程序中使用 FFMpeg 库。我使用 MingW-w64 编译带有静态库的 FFMpeg,一次使用 x86,一次使用 x86_64。 目前我正在尝试将 32 位 x86 库与我的 VS2008 应用程序链接。 库被添加到库路径中,VS 不会抱怨无法加载 .a 文件。
但是我得到了几个未解决的符号错误,例如 ait_rtp_receiver.lib(ait_decoder_lib.obj) : error LNK2001: unresolved external symbol _av_free
我将 FFMpeg 头文件导入为 extern C,我可以看到 .a 中没有前导下划线的符号。 如何让 Mingw-w64 的 gcc 和 VS 编译器套件的名称修饰兼容?
【问题讨论】:
-
为什么这被否决了?我想我添加了所有细节以简明扼要地描述问题
-
将 FFMpeg 构建为 *.dlls (
--enable-shared),然后使用生成的导入 *.lib 将其与MSVC链接。将静态MinGW库与MSVC链接起来简直是一团糟,因为您还必须链接 libgcc.a、libgcc_eh.a 和其他库。所以你最好编译dll。
标签: windows visual-studio ffmpeg mingw