2014-05-11 5 views
0

SDL 및 FFmpeg를 사용하여 비디오를로드하고 표시하려고합니다. 지금까지 제가 시도한 다른 라이브러리보다 많은 문제가있었습니다. 이제 프로그램을 실행하고 거의 검은 색 화면을 볼 수 있습니다. 하지만 문제가 있다면 loadVideo(...) 함수의 줄의 주석 처리를 제거하면 링커 오류가 발생합니다.FFmpeg가 제대로 연결되지 않았습니까?

나는 "는 FFmpeg의 자식-4cdea92 64 비트 데브"에서 파일을 사용하고, 그리고 "자식 - 4cdea92 64 비트 공유는 FFmpeg"는 DLL-파일을 얻을 수 있습니다. 링크에 위치한 : http://ffmpeg.zeranoe.com/builds/

void loadVideo(string file) { 
    //Initialize video 
    //av_register_all(); 
    AVFormatContext *pFormatCtx; 
    //if (avformat_open_input(&pFormatCtx, file.c_str(), NULL, NULL) != 0) { 
     //printf("Unable to open video file '%s'!\n", file.c_str()); 
    //} 
} 

답변

0

사실, 난 그냥 내 자신의 질문에 대한 답을 발견했다. 내가 왜 내가했던 오류를 받았는지 모르지만 32 비트 라이브러리로 변경하면 효과가있다. 그래서 나는 도서관이 32/64 비트를 지정할 때마다 Visual Studio 버전을 의미하고 Windows 버전은 아닐 것이라고 생각합니다.

어쨌든, 사람들이이 문제를 우연히 발견하게되면 ... 32 비트 dll 파일이 64 비트 Windows 폴더에 저장됩니다. (일명 SysWOW64) 64 비트 Windows를 사용하는 경우.

관련 문제