Win10环境下编译和运行x264的详细过程

更新时间:2022-10-14 09:51

花了整整一天时间终于做完了

1. MSYS2 的下载和安装

1.1 下载

官网有下载和安装流程

https://www.msys2.org/

图片[1] - Win10环境下编译和运行x264的详细过程 - 尘心网

1.2 安装

双击安装,然后一直点下一步即可。

图片[2] - Win10环境下编译和运行x264的详细过程 - 尘心网

图片[3] - Win10环境下编译和运行x264的详细过程 - 尘心网

图片[4] - Win10环境下编译和运行x264的详细过程 - 尘心网

图片[5] - Win10环境下编译和运行x264的详细过程 - 尘心网

最后,点击确定后是下面这个样子

图片[6] - Win10环境下编译和运行x264的详细过程 - 尘心网

1.3 安装 mingw-64

pacman -S mingw-w64-x86_64-gcc

图片[7] - Win10环境下编译和运行x264的详细过程 - 尘心网

安装成功后,执行 gcc -v安装成功

图片[8] - Win10环境下编译和运行x264的详细过程 - 尘心网

1.4 安装 make

 pacman -S make

图片[9] - Win10环境下编译和运行x264的详细过程 - 尘心网

1.5 安装 mingw-w64-x86_64-toolchain

pacman -S mingw-w64-x86_64-toolchain

图片[10] - Win10环境下编译和运行x264的详细过程 - 尘心网

1.6 安装 nasm

pacman -S mingw-w64-x86_64-nasm

图片[11] - Win10环境下编译和运行x264的详细过程 - 尘心网

2. 下载x264源码

https://www.videolan.org/developers/x264.html

图片[12] - Win10环境下编译和运行x264的详细过程 - 尘心网

解压后

图片[13] - Win10环境下编译和运行x264的详细过程 - 尘心网

3. 编译 x264

3.1 在 D 盘新建一个 x264 的文件夹,用于存放编译好的库

图片[14] - Win10环境下编译和运行x264的详细过程 - 尘心网

3.2 切换目录到 x264 源码的目录

图片[15] - Win10环境下编译和运行x264的详细过程 - 尘心网

3.3 执行 configre 脚本

./configure  --enable-static --enable-shared --enable-debug --prefix=D:\/x264

图片[16] - Win10环境下编译和运行x264的详细过程 - 尘心网

3.4 执行 make

make

图片[17] - Win10环境下编译和运行x264的详细过程 - 尘心网

3.5 执行 make install

make install

图片[18] - Win10环境下编译和运行x264的详细过程 - 尘心网

这样在 D:\x264 目录下就生成了相应的头文件、库和可执行程序

图片[19] - Win10环境下编译和运行x264的详细过程 - 尘心网

3.6 将dll转换成def

下载 pexportshttps://sourceforge.net/projects/mingw/files/MinGW/Extension/pexports/pexports-0.47/

图片[20] - Win10环境下编译和运行x264的详细过程 - 尘心网

解压

图片[21] - Win10环境下编译和运行x264的详细过程 - 尘心网

bin 目录下有exe文件将之前生成的 dll 文件拷贝到 bin 目录

图片[22] - Win10环境下编译和运行x264的详细过程 - 尘心网

图片[23] - Win10环境下编译和运行x264的详细过程 - 尘心网

切换到这个路径,然后执行命令

pexports.exe libx264-164.dll > libx264-164.def

图片[24] - Win10环境下编译和运行x264的详细过程 - 尘心网

下面是生成的 def 文件

图片[25] - Win10环境下编译和运行x264的详细过程 - 尘心网

3.7 将 def 文件生成 lib 文件

打开 VS 2019 自带的工具: Developer PowerShell for VS 2019路径 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio 2019\Visual Studio Tools

图片[26] - Win10环境下编译和运行x264的详细过程 - 尘心网

先切换到刚才的生成 def 文件的路径,然后执行生成 lib 文件的命令

cd E:\pexports\binlib /machine:x64 /def:libx264-164.def

图片[27] - Win10环境下编译和运行x264的详细过程 - 尘心网

下面就是生成的 lib 文件

图片[28] - Win10环境下编译和运行x264的详细过程 - 尘心网

4. 使用 x264

4.1 新建空项目

图片[29] - Win10环境下编译和运行x264的详细过程 - 尘心网

图片[30] - Win10环境下编译和运行x264的详细过程 - 尘心网

4.2 创建 x264.h,并将之前的 x264.h 文件的内容拷贝过来

(注意:这里的头文件要手动创建,不能直接复制,否则 VS2019 识别不出来)

图片[31] - Win10环境下编译和运行x264的详细过程 - 尘心网

图片[32] - Win10环境下编译和运行x264的详细过程 - 尘心网

4.3 创建 x264_config.h,并将之前的 x264_config.h 文件的内容拷贝过来

(注意:这里的头文件要手动创建,不能直接复制,否则 VS2019 识别不出来)

图片[33] - Win10环境下编译和运行x264的详细过程 - 尘心网

4.4 创建 cpp 文件

#include <iostream>

extern "C" {
#include "x264.h"
#include "x264_config.h"
}

using namespace std;

int main(int argc, char** argv)
{
	x264_param_t x264_param;				// x264编码配置结构体

	x264_param_default(&x264_param);		// x264编码配置初始化

	cout << "hello,x264" << endl;
	return 0;
}

图片[34] - Win10环境下编译和运行x264的详细过程 - 尘心网

4.5 创建 lib 文件夹,并将之前的 lib 复制过来

图片[35] - Win10环境下编译和运行x264的详细过程 - 尘心网

图片[36] - Win10环境下编译和运行x264的详细过程 - 尘心网

图片[37] - Win10环境下编译和运行x264的详细过程 - 尘心网

4.6 项目->属性,在C/C++:常规->附加包含目录中,添加 $(SolutionDir)include

图片[38] - Win10环境下编译和运行x264的详细过程 - 尘心网

图片[39] - Win10环境下编译和运行x264的详细过程 - 尘心网

4.7 在链接器:常规->附加库目录中,添加 $(SolutionDir)lib

图片[40] - Win10环境下编译和运行x264的详细过程 - 尘心网

图片[41] - Win10环境下编译和运行x264的详细过程 - 尘心网

4.8 在链接器:输入->附加依赖项中,添加 libx264-164.lib

图片[42] - Win10环境下编译和运行x264的详细过程 - 尘心网

图片[43] - Win10环境下编译和运行x264的详细过程 - 尘心网

4.9 点击应用和确定

图片[44] - Win10环境下编译和运行x264的详细过程 - 尘心网

图片[45] - Win10环境下编译和运行x264的详细过程 - 尘心网

5. 运行

5.1 选择 x64

图片[46] - Win10环境下编译和运行x264的详细过程 - 尘心网

5.2 运行报错

由于找不到 libx264-164.dll, 无法继续执行代码。

图片[47] - Win10环境下编译和运行x264的详细过程 - 尘心网

5.3 解决报错

拷贝之前的 libx264-164.dll 到项目的 x64 的 Debug 目录下面

图片[48] - Win10环境下编译和运行x264的详细过程 - 尘心网

图片[49] - Win10环境下编译和运行x264的详细过程 - 尘心网

再次运行后,成功!!!

图片[50] - Win10环境下编译和运行x264的详细过程 - 尘心网

文档下载:Win10环境下编译和运行x264的详细过程.doc文档

THE END
喜欢就支持一下吧