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

Windows编译x264相关推荐

  1. Windows下编译x264

    到官方下载,下载最新源码,配置MSYS2,然后编译: Getting x264 Source The latest x264 source code is available through git  ...

  2. VS2019下编译x264.dll

    一.安装MSYS2 官网地址:MSYS2 64位选择x86_64版本,直接install就行 二. 在MSYS2中安装MinGW Update the package database and cor ...

  3. OGRE 2.1 Windows 编译

    版权所有,转载请注明链接 OGRE 2.1 Windows 编译 环境: Windows 7 64Bit Visual Studio 2012 OGRE 2.1 CMake 2.8.12.1 OGRE ...

  4. DCNv2 windows编译2021

    2019年曾经写过一篇DCNv2 windows编译的博客 https://blog.csdn.net/jacke121/article/details/91355170 当时vs2015是编译成功的 ...

  5. Cef mysql.exe_CEF3.2623使用记录:windows编译

    CEF3.2623使用记录:windows编译 1:cef3.2623下载地址 2623是cef3最后一个支持xp系统的版本,且可以支持html的audio标签,可以用作对html音频的处理下载地址为 ...

  6. x264代码剖析(四):vs2010编译x264错误集锦

    x264代码剖析(四):vs2010编译x264错误集锦 支持VC++平台的x264的最新版本是x264-20091006,接下来就以该版本为例分析编译运行x264过程中遇到的问题以及解决办法. 1. ...

  7. LibreCAD for windows 编译

    LibreCAD for windows 编译 项目中要用到平面CAD功能,找到libreCAD,发现不很适合需求,需要重新改造一下:)要改造就要编译: 1.下载源码解压到H盘 2.用notepad+ ...

  8. FreeRDP 2.0 for Windows 编译

    简介 Freerdp 一个开源的RDP跨平台客户端: https://github.com/FreeRDP/FreeRDP 版本 2020-04-09 Github上其发布了2.0版本: 只下载其re ...

  9. Windows编译FreeRDP

    Windows编译FreeRDP 需要准备的工具 1.安装CMake (cmake-gui) 2.安装`Visual Studio Community 2017` 3.下载`FreeRDP`源码 4. ...

最新文章

  1. linux中文麻酱字_【树】Linux笔记 1
  2. XCTF-高手进阶区:bug
  3. redis过期监听性能_基于Redis的延迟处理
  4. python中ascii码和字符的转换
  5. Nginx学习笔记(五) 源码分析内存模块内存对齐
  6. iPhone 12 Pro系列变贵的原因在这儿!
  7. matplotlib基本设置
  8. python工资这么高为什么不学-现在Python就业薪资高吗?
  9. html5页面设计报告书,网站设计报告模板.docx
  10. O2OA办公平台:考勤配置管理手册
  11. 油藏弹性存储量计算公式_各类油藏采收率计算公式
  12. 虚拟贝司拓展音源-Toontrack Acoustic EBX
  13. JeecgBoot 3.2.0 版本发布,基于代码生成器的企业级低代码平台
  14. IOT(4)---手机中的传感器
  15. 算法设计与分析 - 磁带存储程序 - 贪心算法(java实现)
  16. win10关闭快速启动_内存占用率过高怎么办?Win10电脑内存占用率很高的原因和解决方法...
  17. MSComm控件的有趣现象
  18. Visio工具的跨线解决问题
  19. 常见的比较二进制工具有哪些
  20. 华强北四代慧联A10|悦虎1562M怎么样?

热门文章

  1. 重装台式电脑后只剩下C盘DEF盘的资料怎样恢复
  2. 2023最新简历模板免费下载
  3. 制作PDF,并给PDF加上标签
  4. 试述科学精神的核心意蕴
  5. VS2010 之TFS基础使用教程
  6. php rabbit怎么使用默认的交换机,RabbitMQ-交换机模式
  7. java观察者模式异步notify_Java进阶篇设计模式之十三 ---- 观察者模式和空对象模式...
  8. frp实现内网穿透(linux穿透至windows)
  9. 如何看待2020校招数据分析岗位招聘情况?
  10. 基于WebKit的网络爬虫