windows下CMake fdk-aac

转载: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: [email protected]
#
# 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 ( subdir
    libAACdec libAACenc libArithCoding 
	libDRCdec 
	libFDK 
    libMpegTPDec libMpegTPEnc
    libPCMutils
	libSACdec 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,如下图:

windows下CMake fdk-aac_第1张图片

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 )

 

windows下CMake fdk-aac_第2张图片

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库

你可能感兴趣的:(Makefile,音视频综合)