ffmpeg+x264 Windows MSVC 静态编译
Posted Little彭
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ffmpeg+x264 Windows MSVC 静态编译相关的知识,希望对你有一定的参考价值。
尝试ubuntu和win下mingw编译版本,但都在Vistual Studio链接时因为依赖 libgcc.a, libmingw.a, libmingwex.a 会与mscrt 有符号冲突。
最后都是用msvc 来编译就搞定了
1. x264
按照官方文档说明:
The following example command will configure libx264:
CC=cl ./configure --enable-static --prefix=<PREFIX> --extra-cflags="-DNO_PREFIX" make
The NO_PREFIX flag may be necessary to make linkable libraries.
执行方式:
- 要求VS 2013 SP2+
- 先执行 C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\VsDevCmd.bat
- 在切到bash, [CC=cl] 使用msvc 的编译器, 其他和在linux/mac 编译完全一样
生成 libx264.lib
2. ffmpeg
使用的是最新3.0 版本,已经支持使用msvc 工具链的编译
按照官方文档搭好环境,就能很顺利编译通过,不过生成的不是.lib而是.a,Virtual Studio 也是支持的
#!/bin/bash set -x prefix=$(pwd)/win32/install export PKG_CONFIG_PATH="$prefix/lib/pkgconfig" mkdir -p win32/install cd ffmpeg if [[ ! -f config.mak ]]; then ./configure --toolchain=msvc --enable-gpl --enable-nonfree --enable-version3 --arch=x86 --target-os=mingw32 --pkg-config=pkg-config --disable-stripping --disable-everything --enable-static --disable-shared --disable-doc --enable-avresample --enable-demuxer=rtsp --enable-muxer=rtsp --disable-ffplay --disable-ffserver --enable-ffmpeg --disable-ffprobe --enable-libx264 --enable-encoder=libx264 --enable-decoder=h264 --enable-protocol=rtp --enable-hwaccels --enable-zlib --disable-devices --disable-avdevice --extra-cflags="-I$prefix/include -MT" --extra-ldflags=-L$prefix/lib --prefix=$prefix/ffmpeg fi make install
https://trac.ffmpeg.org/wiki/CompilationGuide/MSVC
以上是关于ffmpeg+x264 Windows MSVC 静态编译的主要内容,如果未能解决你的问题,请参考以下文章
Windows系统下编译FFmpeg for Android(支持x264)