2013-03-07 56 views
2

有一個問題。 我需要將ffmpeg(特別是libavcodec)靜態鏈接到visual studio 2008項目中。ffmpeg最新的visual studio建立或鏈接(.a)libs

我在網上找到了一些視覺工作室解決方案,但它們很舊(約0.6版本),我需要最新版本,所以這種方式不適合我。接下來,我使用MinGW/msys進行了靜態構建(使用--enable-satic --disable-shared標誌),並在輸出中獲得了(* .a)庫。 在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)" ([email protected]@YAXXZ) referenced in function _main. 

因此,有兩個問題:

  1. 如何使用libavcodec.a Visual Studio應用程序聯繫起來?

  2. 如果可能,我可以從哪裏獲得包含ffmpeg最新版本的visual studio解決方案?

在此先感謝!

回答

0
  1. 就像您使用.lib文件一樣。 .a是不同名稱的同一個事物。如果它更容易,請將libavcodec.a重命名爲libavcodec.lib。

  2. 無處。