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

 更新时间:2022年10月13日 15:39:30   作者:胡刚2016  
这篇文章主要介绍了Win10环境下编译和运行x264的详细过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

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

1. MSYS2 的下载和安装

1.1 下载

官网有下载和安装流程

https://www.msys2.org/

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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 高性能WEB开发(5) 减少请求,响应的数据量

    高性能WEB开发(5) 减少请求,响应的数据量

    上一篇中我们说到了 如何减少请求数,这次说说如何减少请求、响应的数据量(即在网络中传输的数据量),减少传输的数据量不仅仅可以加快页面加载速度,更可以节约服务器带宽,为你剩不少钱(好像很多机房托管都是按流量算钱的)。
    2010-05-05
  • VS2019 安装时闪退的解决方法

    VS2019 安装时闪退的解决方法

    这篇文章主要介绍了VS2019 安装时闪退的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • IIS 301重定向与程序代码实现301重定向的差别

    IIS 301重定向与程序代码实现301重定向的差别

    过IIS做301重定向确可以实现传递网站的权重,还不会导致流量丢失。
    2010-11-11
  • Unity开发VR项目问题总结分析

    Unity开发VR项目问题总结分析

    本篇文章主要对Unity开发VR项目会遇到的一些问题总结,针对这些问题进行分析解决,有需要的朋友可以借鉴参考下,希望对大家有所帮助
    2021-09-09
  • 解析动态代理jdk的Proxy与spring的CGlib(包括区别介绍)

    解析动态代理jdk的Proxy与spring的CGlib(包括区别介绍)

    Spring是Java程序员基本不可能绕开的一个框架,它的核心思想是IoC(控制反转)和AOP(面向切面编程)。本文重点给大家介绍动态代理jdk的Proxy与spring的CGlib,感兴趣的朋友跟随小编一起看看吧
    2022-01-01
  • 架构思维之缓存雪崩的灾难复盘

    架构思维之缓存雪崩的灾难复盘

    这篇文章主要介绍了架构思维中一次缓存雪崩的灾难复盘真实案例的分享,希望可以对大家在工作中有所启发,祝大家多多进步早日升职加薪
    2022-01-01
  • IDEA中使用Git拉取代码时报 Git pull failed原因及解决方法

    IDEA中使用Git拉取代码时报 Git pull failed原因及解决方法

    这篇文章主要介绍了IDEA中使用Git拉取代码时报 Git pull failed原因及解决方法,本文给大家介绍的非常详细对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • 详解Google Protobuf简明教程

    详解Google Protobuf简明教程

    这篇文章主要介绍了详解Google Protobuf简明教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • 在 WordPress 的页眉(header)和页脚(footer)添加代码方法

    在 WordPress 的页眉(header)和页脚(footer)添加代码方法

    这篇文章主要介绍了在 WordPress 的页眉(header)和页脚(footer)添加代码方法
    2021-09-09
  • 关于VSCode 装好ESLint 插件 import 报黄线的问题

    关于VSCode 装好ESLint 插件 import 报黄线的问题

    这篇文章主要介绍了VSCode 装好ESLint 插件 import 报黄线的问题,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11

最新评论