ffmpeg 4.0 VS2015 編譯

安裝 mingw-get 的默認

******Note**********   mingw 的 msys\1.0\bin\link.exe  ===>  link_mingw.exe 防止與vc的編譯工具衝突

 


[vs2015 編譯]

1.  啓動 VS2015 x64 命令行 command prompt  

2. 運行  msys環境。     D:\mingw\msys\1.0\msys.bat

3. 設置環境變量


匹配 vc 的 x64 目錄 與 啓動環境。

 

VS2015-x86
export PATH="/c/Program Files (x86)/Microsoft Visual Studio 14.0/VC/BIN/":/d/mingw/:$PATH

VS2016-x64
export PATH="/c/Program Files (x86)/Microsoft Visual Studio 14.0/VC/BIN/amd64/":/d/mingw:$PATH

 

4.執行 configure 

./configure --target-os=win64 --arch=x86_64 --toolchain=msvc --enable-shared --disable-static


./configure --enable-asm --enable-yasm --arch=i386 --disable-ffserver --disable-avdevice --disable-swscale --disable-doc --disable-ffplay --disable-ffprobe --disable-ffmpeg --enable-shared --disable-static --disable-bzlib --disable-libopenjpeg --disable-iconv --disable-zlib --prefix=/c/ffmpeg --toolchain=msvc

zlib  放入 環境ENV ( windows )
INCLUDE   D:\codetest\ffmpeg-3.3.7\zlibInstall\include
LIB       D:\codetest\ffmpeg-3.3.7\zlibInstall\lib

echo $INCLUDE

若果configure使用了zlib 會導致 在 vc下 編譯不通過。
d:\codetest\ffmpeg-3.3.7\zlibinstall\include\zconf.h(477): fatal error C1083: 無法打開包括文件: “unistd.h”: No such file or directory

??????????????????????????????????????????????????????????????????????????????????????????????????????????????????
ffmpeg 形式  config.h
#define HAVE_UNISTD_H 0

而 zlib 的 zconf.h

#ifdef HAVE_UNISTD_H    /* may be set to #if 1 by ./configure */
#  define Z_HAVE_UNISTD_H
#endif

 

VS2015 獨立編譯 zlib 是 OK 的。  可以修改 zconf.h ( 是vs2015 C-make Install z-lib之後的目錄中 )

#if HAVE_UNISTD_H    /* may be set to #if 1 by ./configure */
#  define Z_HAVE_UNISTD_H
#endif

???????????????????????????????????????????????????????????????????????????????????????????????????????????????????

糾正的錯誤:
fftools 子目錄 之下: 

fftools/cmdutils.c(1149): error C2065: “slib”: 未聲明的標識符

  ffprobe.c
  cmdutils.c
  之中使用了 CC_IDENT  將此註釋 即可。


直接 沒有任何支持的編譯 encoders只有 mpeg2video
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章