ffmpeg最新的visual studio构建或链接(.a)库

时间:2013-03-07 12:21:18

标签: visual-studio-2008 gcc ffmpeg static-linking solution

有问题。 我需要将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.

所以,有两个问题:

  1. 如何将Visual Studio应用程序与libavcodec.a链接?

  2. 如果可能,我在哪里可以获得包含ffmpeg最新版本的visual studio解决方案?

  3. 提前致谢!!

1 个答案:

答案 0 :(得分:0)

  1. 就像使用.lib文件一样。 .a是不同名称的同一个东西。如果您更容易,请将libavcodec.a重命名为libavcodec.lib。

  2. 无处。