2013-03-07 1 views
2

문제가 있습니다. Visual Studio 2008 프로젝트에 정적으로 ffmpeg (특히 libavcodec)를 연결해야합니다.ffmpeg 최신 비주얼 스튜디오 빌드 또는 (.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; 
    } 

컴파일이 성공했지만 실패를 연동 : 그럼 난 간단한 응용 프로그램을 썼다. 오류가 얻어졌다된다

  1. 방법 libavcodec.a와 비주얼 스튜디오 응용 프로그램을 연결하는 :

    error LNK2019: unresolved external symbol "void __cdecl av_register(void)" ([email protected]@YAXXZ) referenced in function _main. 
    

    그래서, 두 가지 질문이 있습니다?

  2. 가능하면 ffmpeg 최신 버전이 포함 된 Visual Studio 솔루션을 얻을 수 있습니까?

미리 감사드립니다 !!

답변

0
  1. .lib 파일을 사용하는 것과 같습니다. .a는 다른 이름으로 같은 것입니다. 더 쉬운 경우 libavcodec.a의 이름을 libavcodec.lib로 바꿉니다.

  2. 아무 데나.