一、MSYS2下载
下载地址:http://www.msys2.org/
选择msys2-x86_64-20180531.exe下载安装
pacman是MSYS2自带的软件管理工具:
- 可通过修改msys64\etc\pacman.d下的三个文件修改软件源,可供选择的有:中国科学技术开源软件镜像、北京理工大学镜像、日本北陆先端科学技术大学院大学SourceForge镜像、The UK Mirror Service Sorceforge mirror等。
- 下载后的软件包默认存放目录msys64\var\cache\pacman\pkg;若命令行下载速度较慢,可以到到软件源网站使用下载工具下载相应的软件包,然后拷贝到此目录,接着使用命令行进行安装。
- 运行msys2_shell.bat:
pacman -Sy
更新本地包数据 - 升级核心包:
pacman -S --needed filesystem msys2-runtime bash libreadline libiconv libarchive libgpgme libcurl pacman ncurses libintl
, 之后需要关闭所有 MSYS2 shell,然后运行 autorebase.bat - 升级其他包:
pacman -Su
- 常用命令:
pacman -Q
查看已安装的软件包pacman -S -g
查看软件组pacman -Q -g base-devel
查看软件组包含的软件pacman -Q -l vim
查询软件包的内容pacman -Q -s nettle
查询软件所在的包
- 查看工具帮助:
pacman -h
;pacman -S -h
-
建议通过安装软件组来安装工具链
for 64bit: pacman -S mingw-w64-x86_64-toolchain for 32bit: pacman -S mingw-w64-i686-toolchain pacman -S base-devel pacman -S vim
二、下载x264
git clone http://git.videolan.org/git/x264.git
安装x264编译依赖
pacman -S nasm
编译
cd x264
./configure --enable-shared --extra-ldflags=-Wl,--output-def=libx264.def
./configure --host=x86_64-w64-mingw32--enable-shared
#编译32位
./configure --host=i686-w64-mingw32 --enable-shared --extra-ldflags=-Wl,--output-def=libx264.def
#编译64位
./configure --host=x86_64-w64-mingw32 --enable-shared --extra-ldflags=-Wl,--output-def=libx264.def
make
make install
生成结果
libx264.def、libx264-155.dll、libx264.dll.a
将def转换为lib
使用vs2015的Developer Command Prompt for VS2015
LIB /DEF:libx264.def /MACHINE:X64
不使用/MACHINE:X64是默认x86;
完毕!
参考:https://blog.csdn.net/callinglo4ve/article/details/48601775
http://www.ayobamiadewole.com/Blog/Others/x264compilation.aspx
https://blog.csdn.net/wangzhong1979/article/details/79283100
https://blog.csdn.net/qushaobo/article/details/80271762
ps:运行程序却出现缺少libgcc_s_dw2-1.dll问题
解决方案:
libgcc_s_dw2-1.dll、libwinpthread-1.dll
若编译时添加ssl,需要libssl.dll
这些dll,可以从【D:\msys64(安装目录)】\mingw32\bin目录中查找
如果不想编译,可以直接从这里下载。