윈도우에서 FFmpeg을 컴파일하려면 Visual Studio에서 하는 방법과 MinGW의 gcc로 컴파일하는 방법이 있다.

Visual Studio를 사용하는 방법이 쉽다고 되어있는데, 막상 해보니 잘 되지 않고…

윈도우 환경에서 gcc로 컴파일 하려면 MinGWyasm이 필요하다.



1. MinGW 다운 및 설치


MinGW를 설치하려면 여기에서 mingw-get-setup.exe를 다운받아 실행하면 된다.

설치 화면에서 mingw32-basemsys-base를 선택한 뒤에 Installation - Apply Changes를 클릭하면 설치가 진행된다.

설치가 되는 기본 폴더의 위치는 c:\MinGW이다.




2. pr.exe 설치


컴파일할 때 pr.exe가 필요한데, 위에서 설치한 내용에선 이 파일이 빠져있다.

여기에서 다운받아 압축을 푼 뒤에 pr.exe를 c:\MinGW\bin에 복사한다.



3. yasm 다운 및 설치


여기에서 yasm을 다운받는다. win32를 다운받으면 무난히 사용할 수 있다.

다운받은 뒤 파일명을 yasm.exe로 바꾼 뒤에 c:\MinGW\bin에 복사하면 된다.



4. FFmpeg 소스 다운로드 및 컴파일 준비


FFmpeg 소스는 여기서 다운받을 수 있다.

다운받은 뒤에 압축은 c:\MinGW\msys\1.0\home\[계정] 아래에 해제하면 작업이 좀 더 쉽다.



5. unistd.h 수정


c:\MinGW\includeunistd.h가 있다.

여기에 _cdecl가 5번 들어있는데, 이를 모두 __cdecl로 바꿔준다.



6. 컴파일


c:\MinGW\msys\1.0에서 msys.bat를 실행한다.

우선 아래와 같이 입력해서 MinGW 폴더를 마운트한다.


mount c:/mingw /mingw


여기서 역슬래쉬(\)가 아니라 슬래쉬(/)임에 유의한다.


그 다음은 소스가 저장된 위치로 이동.

4번에서 설명한 내용대로 했으면 현재 폴더의 아래에 있다.

여기서 아래와 같이 입력하면 컴파일된다. 소요 시간은 대략 30분 안팎.


./configure --target-os=mingw32 --enable-cross-compile --arch=i686 --enable-static

make

make install


이렇게 하면 ffmpeg.exe 등이 만들어진 것을 확인할 수 있다.



참조 사이트: 노녁의 볼우물 #1, #2



+ Recent posts