windows下CMake fdk-aac

音视频应用开发系列文章目录

前言

在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,如下图:

configure&generate&compile

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

发布了131 篇原创文章 · 获赞 195 · 访问量 38万+

猜你喜欢

转载自blog.csdn.net/KayChanGEEK/article/details/103216139