一、安装MSYS2环境
1.首先去MSYS2官网(链接)安装包,我的电脑是64位选择x86_64版本
2.下载后,点击安装,默认就可以
3.根据提示,将会直接打开窗口,如果不小心关闭,则转到安装目录下打开,如下图
4.Update the package database and core system packages with,全部默认安装即可
pacman -Syu
5.更新其他,同样默认执行就可以
pacman -Su
6.分别安装32位版本和64位版本的工具链
pacman -S mingw-w64-i686-gcc
pacman -S mingw-w64-x86_64-gcc
7.安装其他软件及工具
pacman -S base-devel
pacman -S vim
pacman -S nasm
pacman -S git
8.测试是否正常
从开始菜单中找到“MSYS2 MinGW 32-bit”以及“MSYS2 MinGW 64-bit”,执行gcc -v。查看是否能够看到提示信息,如果有提示信息,表示正常
二、x264编译
1.在VLC官网(链接)下载x264源码包
解压到msys64\home目录下:
2.打开MSYS2 MinGW 64-bit,进入到x264源码所在路径:
3.执行命令
./configure --host=x86_64-w64-mingw32 --enable-shared --disable-cli
输出如下:
4.执行make
make
输出如下:
编译后,在目录下,可以看到生成了libx264-159.dll
三、将dll转换成lib
1.下载pexports.exe(链接)
2.将下载的pexports.exe放在VC安装目录的bin下
例如:D:/vs2015/VC/bin
3.打开cmd,进入当前的目录:
cd D:
cd D:\vs2015\VC\bin
4.将libx264-159.dll放在D:\vs2015\VC\bin下
5.执行命令:
(1)先将dll转成def
pexports.exe libx264-159.dll > libx264-159.def
(2)利用def生成lib
lib /machine:x64 /def:libx264-159.def
生成效果:
6.测试库是否正确
(1)创建一个控制台的64位工程,将libx264-159.lib,x264.h,x264_config.h以及libx264-159.dll都放在工程目录下
输入代码:
#include <iostream>
#include <string>
#include "stdint.h"
#pragma comment(lib, "libx264-159.lib")
extern "C"
{
#include "x264.h"
#include "x264_config.h"
};
using namespace std;
int main(int argc, char **argv)
{
x264_param_t param;
x264_param_default(¶m);
cout << "hello,x264" << endl;
return 0;
}
(2)执行结果如下:
好了,正确生成。