有问题。 我需要将ffmpeg(特别是libavcodec)静态链接到visual studio 2008项目中。
我在互联网上找到了一些视觉工作室解决方案,但它们很老(大约0.6版本),我需要最新版本,所以这种方式不适合我。
接下来,我使用MinGW / msys和输出中的(* .a)库进行静态构建(使用--enable-satic --disable-shared标志)。 在Visual Studio中,我转到链接器特性并添加到附加依赖项(链接器 - >输入)libvacodec.a和libgcc.a。 然后我写了简单的应用程序:
#include <stdio.h>
#include <stdlib.h>
extern "C"
{
#ifdef __STDC_CONSTANT_MACROS
#define __STDC_CONSTANT_MACROS
#endif
#include "libavcodec/avcodec.h"
}
#include "libavformat/avformat.h"
int main()
{
av_register_all();
return 0;
}
此代码的编译已成功,但链接失败。获得了一个错误:
error LNK2019: unresolved external symbol "void __cdecl av_register(void)" (?av_register_all@@YAXXZ) referenced in function _main.
所以,有两个问题:
如何将Visual Studio应用程序与libavcodec.a链接?
如果可能,我在哪里可以获得包含ffmpeg最新版本的visual studio解决方案?
提前致谢!!
答案 0 :(得分:0)
就像使用.lib文件一样。 .a是不同名称的同一个东西。如果您更容易,请将libavcodec.a重命名为libavcodec.lib。
无处。