Windows编译x264

1、下载安装MSYS2
官网下载64位的安装包,下载完之后进行安装,安装目录自行决定,我这里安装在C盘,我的安装目录是C:\msys64
2、编辑msys2_shell.cmd
安装完之后找到msys2_shell.cmd脚本文件,将rem set MSYS2_PATH_TYPE=inherit 改为
set MSYS2_PATH_TYPE=inherit ,修改的目的是为了MSYS2继承vs的环境.
3、下载yasm
官网下载yasm,我的电脑是64位,所以下载的是64位的

在这里插入图片描述
将下载好的yasm重命名为yasm.exe,并复制到C:\msys64\usr\bin目录下。
4、运行msys2_shell.cmd脚本文件
运行以下命令:

pacman -Syu  #中间会退出一次,再次打开重新执行此命令即可
pacman -S make #安装make
pacman -S diffutils
pacman -S nasm
mv /usr/bin/link.exe /usr/bin/link.exe.bak #重命名link.exe,目的是避免与MSVC的link.exe冲突

5、安装GCC和make
打开mingw64.exe,输入命令:

pacman -S mingw-w64-x86_64-toolchain

此时环境配置基本完成

6、编译
打开vs的 x64 Native Tools Command Prompt for VS2019(适用于 VS 2017 的 x64 本机工具命令提示),在窗口中输入cd C:\msys64,然后输入命令

msys2_shell.cmd -mingw64

打开msys的shell命令窗口。从vs的shell打开msys2 shell是为了继承vs的环境路径。
在这里插入图片描述
7、检验编译环境工具
在打开的msys2的shell窗口输入命令

which cl link yasm cpp

看命令返回结果,如下图,若出现/usr/bin/yasm、/mingw64/bin/cpp就说明环境没问题
在这里插入图片描述
8、cd到x264目录,执行命令

./../../x264/configure --prefix=./../../installed --host=x86_64-w64-mingw32 --enable-shared --disable-thread --disable-avs --extra-ldflags=-Wl,--output-def=libx264.def

configure和prefix路径根据自己的路径来写
9、接着执行命令

make
make install

成功之后会生成以下文件libx264.a、libx264.def、libx264.dll.a、libx264-155.dll和x264.exe
在这里插入图片描述
10、生成lib文件
执行命令,生成64位lib文件

lib /machine:X64 /def:libx264.def

成功之后即可得到libx264.lib和libx264.exp文件
若出现以下错误,则打开vs2019自带工具x64_x86 Cross Tools Command prompt for VS 2019,cd到.dll所在目录,执行上述命令生成lib库
在这里插入图片描述
在这里插入图片描述

我编译公司线上使用的x264源码时遇到了multiple definition多重定义的error,参考下面的文章解决了error
多重定义的解决方案

编译遇到的另一个error:conflicting types for,原因是因为函数使用的位置位于声明之前,将函数定义在被调用之前即可。参考文章: https://blog.csdn.net/biubiuibiu/article/details/78326358

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
编译Filament Windows,首先需要下载Filament的源代码。可以从Filament的Github仓库中获取源代码,找到Windows平台的源码,然后将其下载到本地。 在开始编译之前,需要确保开发环境已经设置好。首先需要安装CMake,这是一个跨平台的构建工具。CMake可以根据源代码生成相应的Makefile或者Visual Studio的项目文件,用于编译源代码。可以从CMake的官方网站下载适合的版本并安装到系统中。 接下来,需要安装其他的开发工具和库依赖。Filament依赖于一些第三方库,例如protobuf、freetype和libjpeg-turbo等。这些库需要在编译之前安装到系统中。 安装完所有依赖项后,就可以开始编译Filament了。首先,在源代码目录下创建一个用于构建的目录,例如"build"。然后使用CMake指定生成的目标平台为Windows,并指定"build"目录作为构建目录。运行CMake命令如下: ``` cmake -G "Visual Studio 16 2019" -A x64 .. ``` 这个命令会生成一个Visual Studio解决方案文件,用于编译Filament。然后可以打开生成的Visual Studio解决方案文件,使用Visual Studio进行编译。 在Visual Studio中,可以选择Release或Debug模式,并点击编译按钮进行编译编译完成后,就可以在生成的目录中找到编译好的Filament库文件和示例程序。 通过以上步骤,就可以成功编译Filament Windows版本。可以将编译好的库文件集成到自己的项目中,或者运行示例程序进行测试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值