Win10 下编译x264 教程

x264是linux下的库,但在windows下使用,必须编译成dll库,在这里记录一下windows编译x264过程。
一、编译环境安装
1…下载MinGW ,下载地址。 下载完成获得mingw-get-setup.exe,选择安装路径,继续。之后会获得MinGW Installer,选"Basic Setup",将右侧的选项全部选中,点击菜单上的“Installation”下的“Apply Changes”开始安装。等待安装完成,这个过程需要的时间可能会比较长。 下载yasm,下载地址 注意选择版本,下载后将文件名称改成yasm.exe,放在之前安装好的MinGW\bin目录下下。
2. 下载msys64并安装, 安装默认路径(C:\msys64);
3. 安装完成之后,先把安装目录下的msys2_shell.cmd中注释掉的rem set MSYS2_PATH_TYPE=inherit改成set MSYS2_PATH_TYPE=inherit,这是为了将vs的环境继承给MSYS2
4. 重命名link.exe
重命名msys64/usr/bin/link.exe 为msys64/usr/bin/link.bak, 避免和MSVC 的link.exe抵触。

二、修改pacman的源
pacman是一个软件包管理器,用来在MSYS2中安装软件,但是默认的国外的源下载安装包时非常缓慢,大概只有十几二十KB的速度,而且还容易下载中断出错,所以需要修改为国内源,国内源可以选择中科大的源。

按照MSYS2镜像提示修改。具体如下:

编辑 /etc/pacman.d/mirrorlist.mingw32 ,在文件开头添加:

Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686

编辑 /etc/pacman.d/mirrorlist.mingw64 ,在文件开头添加:

Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64

编辑 /etc/pacman.d/mirrorlist.msys ,在文件开头添加:

 Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch

然后在msys2的shell中执行:

pacman -Sy

三、安装gcc编译器、git等
如果选择MinGW-w64编译则打开MSYS2 MinGW64,在shell窗口中输入:

pacman -S mingw-w64-x86_64-toolchain

然后默认全部安装即可。

安装git:任一方式打开shell窗口输入:

pacman -S git

安装nasm
编译当前最新x264时需要用到nasm。

pacman -S nasm

四、 编译x264

1.打开[适用于 VS 2015 的 x64 本机工具命令提示]关联的mingw64
在这里插入图片描述
2.检查编译环境工具
mingw64的shell窗口输入:

which cl link yasm cpp

在这里插入图片描述
看返回结果,没有no的结果一般就没问题。

3.修改支持中文显示
窗口右键->Options->Text,然后locale选择:zh_CN,Character set 选择 UTF-8。

4.下载x264
git clone http://git.videolan.org/git/x264.git

5.编译
cd 进入x264目录下:

./configure --host=x86_64-w64-mingw32 --enable-shared --extra-ldflags=-Wl,--output-def=libx264.def
 
 make 

 make install
 

.生成libx264.lib

上面编译出来的结果没有包含lib文件,需要自己手工生成。
configure时我们生成了libx264.def此时就派上用场。

cp ./libx264.def ../build/lib/
cd ../build/lib
#生成64位lib文件则输入如下命令:
lib /machine:X64 /def:libx264.def

即得到libx264.lib,然后将libx264-16x.dll改名或者复制一份为libx264.dll。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值