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: 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 ( 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生成想要的库和头文件。

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值