转载:https://blog.csdn.net/KayChanGEEK/article/details/103216139?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

前言

在Linux下fdk-aac有编译脚本,可以轻松的编译之。但是在Windows下木有,这边创建fdk-aac cmake工程使得fdk-aac能cmake跨平台编译。这里使用Windows下的MSVC编译器编译。

准备

下载fdk-aac源码(本文使用的版本是fdk-aac-2.0.1)

CMake工具(本文使用的版本是cmake-3.16.0-rc4-win64-x64)

CMake fdk-aac

创建CMakeLists.txt文件

在fdk-aac源码根目录下创建CMakeLists.txt文件,输入以下内容,具体细节已经注释的很清楚。

# A cmake file for compile fdk-aac
# Author: kaychan
# Mail: 1203375695@qq.com
#
# fdk-aac download: http://www.linuxfromscratch.org/blfs/view/svn/multimedia/fdk-aac.html
# fdk-aac version: fdk-aac-2.0.1
# cmake version: cmake-3.16.0-rc4-win64-x64# Disable in-source builds to prevent source tree corruption.
if(" ${CMAKE_SOURCE_DIR}" STREQUAL " ${CMAKE_BINARY_DIR}")message(FATAL_ERROR "
FATAL: In-source builds are not allowed.You should create a separate directory for build files.
")
endif()cmake_minimum_required ( VERSION 3.0 )# 声明工程
project ( fdk-aac )set ( SOURCE_FILES )# 遍历添加源码文件
foreach ( subdirlibAACdec libAACenc libArithCoding libDRCdec libFDK libMpegTPDec libMpegTPEnclibPCMutilslibSACdec libSACenc libSBRdec libSBRenc libSYS)set ( incdir ${CMAKE_SOURCE_DIR}/${subdir}/include )set ( srcdir ${CMAKE_SOURCE_DIR}/${subdir}/src )# 指定包含目录include_directories ( ${incdir} )# 安装include头文件install ( DIRECTORY ${incdir}/ DESTINATION ${CMAKE_INSTALL_PREFIX}/include )file ( GLOB srcfiles${srcdir}/*.cpp${srcdir}/*.h )list ( APPEND SOURCE_FILES ${srcfiles} )
endforeach ()# 编译/安装静态库
add_library ( fdk-aac STATIC ${SOURCE_FILES} )
install ( TARGETS fdk-aac ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib )# 编译/安装动态库
# add_library ( fdk-aac SHARED ${SOURCE_FILES} )
# install ( TARGETS fdk-aac LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib )

创建build和fdkaac_sdk文件夹

build用于存放cmake的中间文件,fdkaac_sdk用于存放编译出来的fdk-aac库和头文件

打开CMake-GUI

添加fdk-aac源码目录和build目录,并指定安装目录宏CMAKE_INSTALL_PREFIX为fdkaac_sdk,如下图:

configure&generate&compile

配置正确后,点击configure,然后点击generate,使用对应编译器的VS版本open project,最后一如既往的编译安装即可在fdkaac_sdk生成想要的库和头文件。

转载:https://blog.csdn.net/Me_You_/article/details/79737065

1.下载fdk-aac源码(官网路径:https://github.com/mstorsjo/fdk-aac.git)

git  http://sourceforge.NET/projects/opencore-amr/files/fdk-aac/

2.下载相关配置,以及在官网下载( https://github.com/nu774/fdkaac_autobuild )

3.根据readme来操作

(1)执行install-mingw.bat(若已经安装则把安装的mingw拷贝到fdk-aac源码路径下)

(2)执行build_libfdk_aac.bat

(3)执行build_fdkaac.bat

4.发现未生成库,后面接着使用mingw来执行

(1)运行msys.bat,定位到fdk-aac目录

(2)执行./Configure命令,发现未识别命令,则执行以下命令:

autoreconf -i

(3)结束后继续执行./Configure

(4)make

(5)make install

5.大功告成,得到libfdk-aac.a库

windows下CMake fdk-aac相关推荐

  1. windows 下cmake的使用

    windows下使用cmake--HelloWorld  教程 step0:新建一个用来存放工程文件的文件夹 step1:用记事本或者写字板写一个"HelloWorld.cpp", ...

  2. windows下cmake编译VTK到PCL中

    补充: 如果嫌编译麻烦,这里可以下载我编译好的:VTK-8.0.1,下载后直接拷贝到pcl安装目录下替换原VTK目录. 编译VTK的原因: pcl安装版中自带的vtk缺少QVTKWidget.dll, ...

  3. Windows下CMake安装使用

    目录 1. CMake简介 2. Cmake下载安装 3. CMake样例 4. cmake-gui使用 4. cmake与nmake生成器构建Makefile 1. CMake简介 CMake是一个 ...

  4. Windows下Cmake的简单使用

    一.安装Cmake 官网:https://cmake.org/ 本文以Windows64为例 二.项目目录如下: 1.新建demo文件夹 2.在demo文件夹下新建bin文件夹.HelloWorld. ...

  5. Windows下CMake使用教程

    编译一个cpp文件 在终端里输入:g++ 函数名.cpp -o 期望函数名(若为c语言程序则把g++替换为gcc) 例如:g++ arfupt.cpp -o app 可以看到arfupt.cpp生成了 ...

  6. windows下CMake交叉编译Android环境OpenCV(为了加入ffmpeg)

    参考博客: https://www.jianshu.com/p/550c85024c49 https://blog.csdn.net/airgreen/article/details/10894458 ...

  7. FFmpeg - Windows下使用MSYS2和VS编译FFmpeg

    文章目录 0. 说明 1. 安装MSYS2 1.1 下载 1.2 安装 2. 下载FFmpeg及其他源码 3. 编译配置依赖库 3.1 打开一个新的MSYS2终端 3.2 编译x264 3.3 编译 ...

  8. 视频服务器(4) webrtc-streamer(windows下卡住了)

    第二个:https://github.com/mpromonet/webrtc-streamer 这个是c++的,比上面的go的麻烦一些. 目录 总结.有效指令 一.webrtc-streamer c ...

  9. Windows下编译语音识别引擎Wenet

    Windows下编译语音识别引擎Wenet 一.Wenet简介 二.Wenet首次编译过程 2.1下载第三方库源码 2.2替换软链接 2.3下载gRPC的third_party 三.Wenet第二次编 ...

最新文章

  1. java定时扫描_springmvc 定时扫描
  2. python爬百度翻译-用python实现百度翻译
  3. poi的autoSizeColumn方法对全角或者说中文支持不好的一个解决办法
  4. ubuntu上搭建php,ubuntu10.04上搭建php网站运行环境
  5. 查询优化器内核剖析第四篇:从一个实例看执行计划
  6. mysql查询默认排序规则_深究 mysql 默认排序, order by 的顺序【收藏】
  7. IOS UISwitch 组件的使用
  8. hadoop3.0新特性介绍
  9. camera(22)---camera 客观测试 Imatest教程--色彩还原度测试
  10. 处理器好点是否上网就快些?
  11. 统计学学生学python吗_用Python学习统计学基础-4
  12. 网易新闻iOS版开发使用的第三方框架和组件列表
  13. 2019年上海理工大学《高等代数》试题和答案——解题人(蔡宇)
  14. 编写一个程序,新建一个文件:d:\abc.txt,从键盘输入abc.txt内容(不超过100个字符)。然后新建另外一个文件:d:\def.txt,将abc.txt的前10个字符复制到def.txt上
  15. Unity 按钮反馈 果冻弹跳
  16. html表格··表格样式··长表格
  17. SQL service基础(九)用户定义数据类型和用户定义函数的概念、创建及使用方法
  18. 栈的压入序列和弹出序列是否匹配
  19. UR机器人(一):坐标系及位姿表示方法
  20. Maxcompute sql 练习题

热门文章

  1. 3d布局图 html5,8个实用炫酷的HTML5图片动画应用 | HTML5资源教程
  2. Word文档忘记设置的密码怎么办?
  3. openlayers图标拖动获取坐标
  4. CSS+JS带缩略图随机切换方式的图片切换效果
  5. 第二届2050大会新生论坛:Conflux研究总监杨光畅谈隐私保护
  6. 课程设计任务分工说明、自评意见、自评等级、指导 教师 意见--基于java的进销存管理系统课程设计
  7. IDEA中database使用教程
  8. 控制继电器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  9. flyme android n,Flyme安卓N体验版终于来了,让搭载One Mind的Flyme 6更流畅
  10. python opencv 图片 算术运算