gcc¸¦ ÀÌ¿ëÇÏ¿© À©µµ¿ìÁî¿ë
FFmpeg ¶óÀ̺귯¸®¸¦ ºôµå Çغ»´Ù. ±¸¹öÀüÀÇ DLL°ú ¶óÀ̺귯¸® ÆÄÀÏÀÌ ÇÊ¿äÇϸé Á÷Á¢ ºôµå ÇØ¾ß ÇÑ´Ù. ºôµå ȯ°æ windows : windows 8.1 64bit ffmpeg: 3.2.2 msys2: msys2-x86_64-20161025.exe ´Ù¿î·Îµå ffmpeg: https://github.com/FFmpeg/FFmpeg msys2: http://www.msys2.org/ MSYS2 ÆÐÅ°Áö ¾÷µ¥ÀÌÆ®64ºñÆ®¿ëÀÎ msys2-x86_64-20161025.exe ÆÄÀÏÀ» ´Ù¿î·Îµå ¹Þ¾Æ¼ ¼³Ä¡ ÇÑ´Ù.¼³Ä¡½Ã Æú´õ´Â D:\msys64·Î ÁöÁ¤ÇÏ¿´´Ù. msys Äĸǵå âÀÌ ÀÚµ¿ ½ÇÇàµÇ¸é ÆÐÅ°Áö¸¦ ¾÷µ¥ÀÌÆ® ÇÑ´Ù. pacman -Syuu
msys Äĸǵå âÀ» ´Ý°í msys2_shell.cmd·Î Äĸǵå âÀ» ´Ù½Ã ½ÇÇàÇÑ´Ù. ´ÙÀ½ÀÇ ÆÐÅ°Áöµµ ¼³Ä¡ÇÑ´Ù. pacman -S make
pacman -S diffutils pacman -S yasm pacman -S mingw-w64-i686-gcc gcc¿ë´Â 32ºñÆ®¸¦ Ÿ°ÙÀ¸·Î ¼³Ä¡ÇÑ´Ù. - 64ºñÆ®¿ë : mingw-w64-x86_64-gcc - 32ºñÆ®¿ë : mingw-w64-i686-gcc ºôµå1. MSYS ½ÇÇà32bit ½ÇÇàD:\msys64\msys2_shell.cmd -mingw32
64bit ½ÇÇà D:\msys64\msys2_shell.cmd -mingw64
2. ffmpeg º¹»çffmpeg Æú´õ¸¦ "D:\msys64\home\[»ç¿ëÀÚ]" Æú´õ·Î º¹»çÇÑ´Ù.3. make ¸¸µé±â--enable-shared : DLLÀ» ¸¸µé±â À§ÇØ ÁöÁ¤ÇÑ´Ù.mkdir out
cd out ../ffmpeg/configure --enable-shared 3. config.mak ¼öÁ¤config.mak°¡ »ý¼ºµÇ¸é ´ÙÀ½ÀÇ ¿ö´×Àº ¹«½ÃÇÑ´Ù.WARNING: pkg-config not found, library detection may fail.
ÀÌ »óÅ¿¡¼ ºôµåÇÏ¸é ºôµå´Â ¹®Á¦¾øÀÌ µÇÁö¸¸ mingw32 Àü¿ëÀ̶ó À©µµ¿ìÁî¿ëÀ¸·Î ½ÇÇàÀÌ ¾ÈµÈ´Ù. EXTRALIBS¿¡ ´ÙÀ½ »çÇ×À» Ãß°¡ÇÑ´Ù. out/config.mak ÆÄÀÏÀÇ EXTRALIBS¿¡ -static-libgcc -Wl,-Bstatic -lpthread -Wl,-Bdynamic Ãß°¡ EXTRALIBS=-static-libgcc -Wl,-Bstatic -lpthread -Wl,-Bdynamic -lws2_32 -lavicap32 -lgdi32
8. make ½ÇÇàmake
make install 9. DLL È®ÀÎgcc·Î ºôµåÇϸé out/bin Æú´õ°¡ »ý¼ºµÇÁö ¾Ê±â ¶§¹®¿¡ lib, dll ÆÄÀÏÀÌ º¹»ç µÇÁö ¾Ê´Â´Ù.°¢°¢ÀÇ Æú´õ¿¡¼ lib ÆÄÀÏ°ú dll ÆÄÀÏÀ» È®ÀÎÇØ¾ß ÇÑ´Ù. DLLÀÇ ÀÇÁ¸¼ºÀ» È®ÀÎÇÑ´Ù. dumpbin -dependents bin/avcodec-57.dll
´Ù¸¥ DLLÀÇ ¾î¶² ÇÔ¼ö¸¦ È£ÃâÇÏ´ÂÁö È®ÀÎÇÑ´Ù. dumpbin -imports bin/avcodec-57.dll
export ÇÏ´Â ÇÔ¼ö¸¦ È®ÀÎÇÑ´Ù. dumpbin -exports bin/avcodec-57.dll
ÂüÁ¶) http://qiita.com/omochimetaru/items/35df0524594255354885#msys2mingw32 https://trac.ffmpeg.org/wiki/CompilationGuide/MSVC |