windows autoconf、automake编译 fdk-aac2.0.2(msvc)
官方文档automake
一、背景
简单说,就是,1991年cmake的作者为了避免写20多个不同系统的不同cmake,创建了兼容各种系统的autoconf、automake,这两个货能直接把c、c++文件等资源文件最终生成makefile,要是想具体了解automake的原理以及步骤,请自己查看automake官方文档(老外文档写的真好),github上好多源码都是直接生成好的configue,我们平时下载下来可直接用,./configure--->make就可以拿到相应的库了,但是最新的fdk-aac2.0.2稍微不大一样,可以分2种方式编译:
a、第一种方式见文章: windows cmake-gui 编译fdk-aac2.0.2_打野哥哥,救命的博客-CSDN博客
上述文章是通过CMakeLists.txt用cmake-gui 生成的vs相关的项目文件
b、第二种方式见本文:之所以要用automake,是因为fdk-aac2.0.2只给了automake生成makefile的部分文件,而没有直接给出可用的configue,所以需要根据automake官方文档手动生成一下
注意:fdk-aac其他版本,比如2.0.1,里面包含了Makefile.vc,这种直接用微软的nmake即可,网上一大把,自己去搜
二、思路
msys2可以简单理解成一个windows上模拟linux环境的平台,里面可以装inux下面像gcc、cmake这种库,然后在windows上通过msys2把编译器gcc切换成vs的cl.exe,然后结合上述生成的configue搞出windows支持的msvc的库,至于msvc与mingw的区别,自己去谷歌吧
三、准备
1、 MSYS2
a、官网下载MSYS2,且安装成功
b、在msys2中用pacman命令安装如下软件:
pacman -S nasm
pacman -S yasm
pacman -S make cmake
pacman -S autotools
注意:按照Autotools - MSYS2官网介绍安装autotools后就包含了autoconf、automake等自动工具
2、 修改msys2安装目录下的启动脚本msys2_shell.cmd,如下图所示
3、安装vs2022企业版,其他vs版本自己尝试
4、打开vs2022命令行工具,我编译的是64位的,32位的自己用x86工具,如下图:
四、编译
1、在vs的命令行工具里面,打开msys2目录下的msys2_shell.cmd,进入msys2的命令行,这样msys2就可以继承vs的环境变量了,就可以用vs的编译器cl.exe与链接器link.exe,具体见下图(这个操作在ffmpeg的windows编译官方文档里有简单提到过)
2、开始用auto工具生成项目configue,下面的一堆命令就都是在msys2的命令行里面了
注意:如果遇到Error: ‘required file `./ltmain.sh' not found’错误,需要执行libtoolize,在执行automake那步,这个错误说明在automake官方文档的8.3.9.1
3、cl.exe+configure生成msvc库
a、上述2中生成的configure其实就是一个bash脚本,自己打开脚本或者用命令行./configure -h查看下脚本支持的命令,命令较多,我只截图一部分:
b、执行configure--->make二部曲生成64位msvc库,2个图如下:
c、生成的库默认放到fdk-aac目录里面的.libs 文件夹下,如下图:
注意:上述b中make后,如果执行make install命令,对应的.h、.lib、dll会拷贝到msys2目录下相应的文件夹下面,因为msys2是模拟了linux的环境,linux一切皆文件,自然有默认的头文件与库存贮路径,以上文章有任何纰漏,请指出,我在改~
windows autoconf、automake编译 fdk-aac2.0.2(msvc)相关推荐
- windows下编译linux内核,windows上可编译Linux内核
编译过程: 1). 解压后默认的文件夹位置是在D:\Linux-0.11,如果你不是将文件解压到该目录下, 你要修改MinGW32目录下的MinGW32.bat文件,将里面的PATH指向MinGW32 ...
- VLC-3.0.0(Nightly版)在Linux和Windows下的编译步骤详解
VLC 3.0.0 Compile vlc的编译一直是个大坑,做过音视频开发的不少人想必都踩过,开篇引用官方wiki一句话: Compiling VLC is not an easy task. 本文 ...
- 一步步实现windows版ijkplayer系列文章之一Windows10平台编译ffmpeg 4.0.2,生成ffplay
一步步实现windows版ijkplayer系列文章之一Windows10平台编译ffmpeg 4.0.2,生成ffplay 最近想研究下ffplay的代码,学习代码是枯燥无味的,也是抽象的,学习一个 ...
- windows编译openssh(automake编译)
openssh 地址:https://gitee.com/mirrors/openssh-portable.git 使用automake编译 安装msys2,在清华镜像https://mirrors. ...
- windows本地编译调试hbase-3.0.0-alpha-2-SNAPSHOT源码
windows本地编译调试hbase-3.0.0-alpha-2-SNAPSHOT源码 前言 代码下载,编译与调试 问题解决 前言 研究hbase的原因有两方面:一是自己是做大数据相关的开发工作,hb ...
- Windows编译Tensorflow2.2.0 C++ dll (CPU bazel)
Windows编译Tensorflow2.2.0 C++ dll (CPU bazel) 0.建议预先下载的几个包 1.VS2019, anaconda, bazel, msys2 下载.安装.路径设 ...
- 乐鑫esp8266学习rtos3.0笔记:如何在 windows 用 CMake 编译 ESP8266 项目。
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板.仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 基于C SDK的ESP8266开发技术全系列笔记 一.N ...
- Windows环境下编译OpenOCD
1.安装git for windows sdk 下载地址:Git for Windows ps:如果安装失败,需要将安装目录删除后才能重新安装. 2.打开 Git SDK 64-bit,安装编译所需环 ...
- CentOS7-64bit 编译 Hadoop-2.5.0,并分布式安装
摘要 CentOS7-64bit 编译 Hadoop-2.5.0,并分布式安装 目录[-] 1.系统环境说明 2.安装前的准备工作 2.1 关闭防火墙 2.2 检查ssh安装情况,如果没有则安装ssh ...
最新文章
- 多键开关 android8.0,手机桌面多键开关(SwitchPro Widget )
- CentOS 7.0卸载自带的mariadb
- php 解决json_encode中文UNICODE转码问题
- [UVALive 3971] Assemble
- 电子计算机制作探测,如何自己制作一个简易的金属探测器
- python socketio async client_electron/socket.io client-python socketio/aiohttp server//连接失败
- 【HDU - 1102】Constructing Roads (最小生成树裸题模板)
- 去中心化交易协议 Bancor 新增支持限价订单
- ext 不能修改 输入框_在extjs中,如何用method改变textfield中inputType的问题
- 语音识别数据库成为了人工智能的核心(转发)
- 连接打印机错误0x000000bcb解决方法
- pdf转换成word转换器免费下载
- 形式语言与自动机理论期末复习
- python中def fun()是什么意思_python里的def 方法中-代表什么意思?
- linux终端无法输入大写字母,linux不能打大写字母
- 遇到svn is already locked 解决办法
- 透气清爽的高回弹跑鞋,跑步轻松畅快,咕咚逐日21K体验
- windows10 查看.theme文件
- gcc环境配置时遇到的问题
- python需要cpu还是显卡问题_买新电脑是cpu重要还是显卡重要?该怎么选择?
热门文章
- python连接AutoCAD;pyautocad连接错误;win32com连接AutoCAD出现问题
- 微型计算机原理daa,微机原理中十进制调整码DAA如何使?
- 猴子摘桃 Python
- 钉钉的收费 [钉钉深圳研发团队 denny/2016.01.06/ 59888745@qq.com]
- 关于,net Framework各版本兼容性问题
- [转]陈军:多规合一的信息平台解决方案
- 学习笔记:求三个数中的中间数
- windows离线安装node-gyp
- python+selenium百度文库ppt(爬虫)
- css3渐变透明文字遮盖解决文字只显示一部分的问题