2015-12-02 98 views
0

我試圖建立的ffmpeg/avcodec中庫與Visual Studio 2015和它給了我下面的鏈接錯誤:將ffmpeg/avcodec與Visual Studio 2015鏈接時無法解析外部符號?

allcodecs.obj : error LNK2001: unresolved external symbol ff_h263_vaapi_hwaccel 
allcodecs.obj : error LNK2001: unresolved external symbol ff_h263_vdpau_hwaccel 
allcodecs.obj : error LNK2001: unresolved external symbol ff_h263_videotoolbox_hwaccel 
... 

的問題來自於這個宏https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/allcodecs.c#L34

#include "config.h" 
#include "avcodec.h" 
#include "version.h" 

... 

#define REGISTER_HWACCEL(X, x)          \ 
    {                \ 
     extern AVHWAccel ff_##x##_hwaccel;       \ 
     if (CONFIG_##X##_HWACCEL)         \ 
      av_register_hwaccel(&ff_##x##_hwaccel);     \ 
    } 

... 

void avcodec_register_all(void) 
{ 
    static int initialized; 

    if (initialized) 
     return; 
    initialized = 1; 

    /* hardware accelerators */ 
    REGISTER_HWACCEL(H263_VAAPI,  h263_vaapi); 
    REGISTER_HWACCEL(H263_VIDEOTOOLBOX, h263_videotoolbox); 
    ... 

我不明白爲什麼這些方法甚至宣佈當我的配置已將它們設置爲0

#define CONFIG_H263_VAAPI_HWACCEL 0 
#define CONFIG_H263_VDPAU_HWACCEL 0 
#define CONFIG_H263_VIDEOTOOLBOX_HWACCEL 0 
... 

順便說一句,當我使用msys/make t ooling。

回答

0

您可能試圖將C代碼與C++名稱綁定關聯起來。 嘗試:

extern "C" 
{ 
#include <avcodec.h> 
#include <avformat.h> 
} 
+0

我沒有在我的代碼中使用庫...我試圖建立庫本身。 – Ragnar

相關問題