当前位置:网站首页>win10编译x264库(也有生成好的lib文件)

win10编译x264库(也有生成好的lib文件)

2022-08-09 11:58:00 略知12

FFmpeg自带H.264解码器,可是没有自带H.264编码器,所以就要用到x264库了


一、x264是什么?

x264是一个开源的H.264/MPEG-4 AVC视频编码函数库,通过这个库可以编码h264视频

二、配置过程

1.下载

msys官网:https://www.msys2.org/
下好之后一路安装

2.配置编译所需的工具

  1. 更换国内源
    对\etc\pacman.d里的三个mirrorlist文件,分别添加到官方镜像前面

mirrorlist.mingw32:

Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686/

mirrorlist.mingw64:

Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64/

mirrorlist.mingw:

Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch/
  1. 更新软件库
pacman -Syu//第一次输入后会重启,要再换一下源
pacman -Su
pacman -S mingw-w64-i686-gcc
pacman -S mingw-w64-x86_64-gcc
pacman -S base-devel
pacman -S nasm
pacman -S yasm
  1. 检查:
    打开MSYS2 64bit,执行gcc -v,没出错就说明安好了

3.配置x264

  1. 下载x264源码包,地址:https://www.videolan.org/developers/x264.html
  2. 下载后放到msys64\home下
  3. 打开MSYS2 MinGW 64-bit,执行./configure --prefix=../build --host=x86_64-w64-mingw32 --enable-shared --extra-ldflags=-Wl,--output-def=libx264.def会生成一个def文件
  4. 将x264.dll也放在vs/vc的bin下,如我的目录就是C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64下,cmd命令:
lib /machine:x64 /def:libx264.def

就生成了我们要的lib文件(做好的x264-155.dll、.def、.lib
链接:https://pan.baidu.com/s/1mcNkEXjOJUZs9LcI5YKT7w
提取码:w1js)

4.测试

  1. 在工程里添加x264.h、x264_config.h、libx264.dll和libx264.lib
  2. 在项目->属性->链接器->输入->输入->附加依赖库->添加libx264.lib
  3. 测试代码如下:
#include <iostream>
#include <string>
#include "stdint.h" 
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(&param);
	cout << "hello,x264" << endl;
	return 0;
}

成功
成功!!!

原网站

版权声明
本文为[略知12]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_37249793/article/details/115272864