网上有很多编译x264库的方法,本人也都折腾了一遍,个人认为最为简单的方法是通过msys2在window系统下搭建编译环境来编译libx264最为简单易行,废话不多说,现在搭建环境。
msys2的下载地址为:http://www.msys2.org/
首先下载msys2并安装软件,安装时可以选择安装路径,我选择的是安装目录为:“D:\msys2”,安装完毕之后双击如下图标,
得到如下界面,说明你已经安装成功了:
1)首先安装gcc软件包,用于编译c语言代码
输入pacman -Sl | grep gcc 查看可用的安装包,可以看到如下信息
mingw32 mingw-w64-i686-gcc 4.9.1-3
mingw64 mingw-64-x86_64-gcc 4.9.1-3
msys gcc 4.8.2-2
输入pacman -S mingw-w64-i686-gcc,安装mingw-w64-i686-gcc软件包;
输入pacman -S mingw-64-x86_64-gcc,安装mingw-64-x86_64-gcc软件包;
输入pacman -S gcc,安装gcc软件包;
输入gcc --version,可以看到版本信息,则说明软件包安装成功。
2)安装yasm,这个软件包用于编译汇编代码,因为x264源码中含有汇编函数
按照第1)步骤,首先输入pacman -Sl | grep yasm 查看可用的安装包,然后输入pacman -S yasm,安装yasm软件包;
3)安装make软件包
按照第1)步骤,首先输入pacman -Sl | grep make 查看可用的安装包,然后输入pacman -S make,安装make软件包;
4)下载一份x264源代码,下载地址为:http://www.videolan.org/developers/x264.html ,并将源码拷贝到msys2安装目录下的home目录下,我的家目录为:D:\msys2\home
5)通过以下命令,编译libx264.lib库
a)输入“./configure --enable-shared --extra-ldflags=-Wl,--output-def=libx264.def”,配置环境,通过这么配置可以直接生成“libx264.dll”,“libx264.def”文件,这里面的def文件用于后面生成库文件
b)输入“make”,编译
c)输入“make install”,安装(可选)
生成“libx264.dll”和“libx264.def”文件之后, 使用VC自带的lib生成工具“LIB”,生成“libx264.lib”文件。使用“Visual Studio command prompt”,切换至x264源代码目录,输入以下命令:
若要生成32位lib文件则输入如下命令:
lib /machine:i386 /def:libx264.def
若要生成64位lib文件则输入如下命令:
lib /machine:X64 /def:libx264.def
即可生成libx264.lib库文件。
下面即可调用libx264.lib和libx264.dll文件,实现编码函数的调用了。
通过上述方法,已经编译好的库,点击打开链接 (https://download.csdn.net/download/lifei092/10154380)