Win10环境下 编译 和 运行 x264的详细过程
花了整整一天时间终于做完了
1. MSYS2 的下载和安装
1.1 下载
官网有下载和安装流程
1.2 安装
双击安装,然后一直点下一步即可。
最后,点击确定后是下面这个样子
1.3 安装 mingw-64
pacman -S mingw-w64-x86_64-gcc
安装成功后,执行 gcc -v
安装成功
1.4 安装 make
pacman -S make
1.5 安装 mingw-w64-x86_64-toolchain
pacman -S mingw-w64-x86_64-toolchain
1.6 安装 nasm
pacman -S mingw-w64-x86_64-nasm
2. 下载x264源码
https://www.videolan.org/developers/x264.html
解压后
3. 编译 x264
3.1 在 D 盘新建一个 x264 的文件夹,用于存放编译好的库
3.2 切换目录到 x264 源码的目录
3.3 执行 configre 脚本
./configure --enable-static --enable-shared --enable-debug --prefix=D:\/x264
3.4 执行 make
make
3.5 执行 make install
make install
这样在 D:\x264 目录下就生成了相应的头文件、库和可执行程序
3.6 将dll转换成def
下载 pexports
https://sourceforge.net/projects/mingw/files/MinGW/Extension/pexports/pexports-0.47/
解压
bin 目录下有exe文件
将之前生成的 dll 文件拷贝到 bin 目录
切换到这个路径,然后执行命令
pexports.exe libx264-164.dll > libx264-164.def
下面是生成的 def 文件
3.7 将 def 文件生成 lib 文件
打开 VS 2019 自带的工具: Developer PowerShell for VS 2019
路径 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio 2019\Visual Studio Tools
先切换到刚才的生成 def 文件的路径,然后执行生成 lib 文件的命令
cd E:\pexports\binlib /machine:x64 /def:libx264-164.def
下面就是生成的 lib 文件
4. 使用 x264
4.1 新建空项目
4.2 创建 x264.h,并将之前的 x264.h 文件的内容拷贝过来
(注意:这里的头文件要手动创建,不能直接复制,否则 VS2019 识别不出来)
4.3 创建 x264_config.h,并将之前的 x264_config.h 文件的内容拷贝过来
(注意:这里的头文件要手动创建,不能直接复制,否则 VS2019 识别不出来)
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; }
4.5 创建 lib 文件夹,并将之前的 lib 复制过来
4.6 项目->属性,在C/C++:常规->附加包含目录中,添加 $(SolutionDir)include
4.7 在链接器:常规->附加库目录中,添加 $(SolutionDir)lib
4.8 在链接器:输入->附加依赖项中,添加 libx264-164.lib
4.9 点击应用和确定
5. 运行
5.1 选择 x64
5.2 运行报错
由于找不到 libx264-164.dll, 无法继续执行代码。
5.3 解决报错
拷贝之前的 libx264-164.dll 到项目的 x64 的 Debug 目录下面
再次运行后,成功!!!
到此这篇关于Win10环境下 编译 和 运行 x264的文章就介绍到这了,更多相关Win10编译 x264内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
吐血推荐珍藏的Visual Studio Code插件(推荐)
这篇文章主要介绍了吐血推荐珍藏的Visual Studio Code插件(推荐),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-01-01使用HTTP_X_FORWARDED_FOR获取客户端IP的严重后果
我的建议是不要再使用上面的方法去获取客户端IP.即是不要再理会代理情况.2009-11-11
最新评论