FFMPEG libfdk-aac Windows上编译

1.源码下载

下载命令及地址:

git clone https://github.com/mstorsjo/fdk-aac.git

2.添加CMake使用的脚本

在fdk-aac的源码路径下创建CMakeList.txt,然后写入以下脚本命令:

# source code: git clone https://android.googlesource.com/platform/external/aac
cmake_minimum_required ( VERSION 2.8 )

if (CMAKE_SYSTEM_NAME STREQUAL Android )
    if ( NOT CMAKE_SYSTEM_PROCESSOR )
        set ( CMAKE_SYSTEM_PROCESSOR    armeabi-v7a )
    endif ()
    if ( NOT CMAKE_SYSTEM_VERSION )
        set ( CMAKE_SYSTEM_VERSION      8 )
    endif ()
    if ( NOT NDK_TOOLCHAIN_VERSION)
        set ( NDK_TOOLCHAIN_VERSION     4.8 )
    endif ()

    set ( ANDROID_NDK_ROOT $ENV{ANDROID_NDK_ROOT} )

    find_path ( TOOLCHAIN_ROOT bin PATHS ${ANDROID_NDK_ROOT}/toolchains/arm-linux-androideabi-${NDK_TOOLCHAIN_VERSION}/prebuilt/* )

    include ( CMakeForceCompiler )

    find_program ( CMAKE_C_COMPILER   arm-linux-androideabi-gcc PATHS ${TOOLCHAIN_ROOT}/bin )
    find_program ( CMAKE_CXX_COMPILER arm-linux-androideabi-g++ PATHS ${TOOLCHAIN_ROOT}/bin )
    find_program ( CMAKE_AR           arm-linux-androideabi-ar  PATHS ${TOOLCHAIN_ROOT}/bin )

    cmake_force_c_compiler      ( ${CMAKE_C_COMPILER} GNU )
    cmake_force_cxx_compiler    ( ${CMAKE_CXX_COMPILER} GNU )

    set ( CMAKE_SYSROOT         ${ANDROID_NDK_ROOT}/platforms/android-${CMAKE_SYSTEM_VERSION}/arch-arm  CACHE PATH "" )

    set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY )
    set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
    set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )

endif ()

project ( fdk-aac )

if ( NOT INCLUDE_INSTALL_DIR )
    set ( INCLUDE_INSTALL_DIR include )
endif ()

if ( NOT ARCHIVE_INSTALL_DIR )
    set ( ARCHIVE_INSTALL_DIR lib/static )
endif ()

if ( NOT IS_DIRECTORY ${FDK_AAC_SOURCE_DIR} )
    message ( FATAL_ERROR "FDK_AAC_SOURCE_DIR=${FDK_AAC_SOURCE_DIR} is not a dir" )
endif ()

if ( CMAKE_SYSTEM_NAME STREQUAL Android )
    add_definitions (
        --sysroot=${CMAKE_SYSROOT}
        -fPIC
        -march=armv7-a
        -mfpu=vfpv3-d16
        -DANDROID
        -mhard-float
        -D_NDK_MATH_NO_SOFTFP=1
        -lm_hard )
endif ()

add_definitions (
    -fno-rtti
    -fno-exceptions )

set ( SOURCE_FILES )

foreach ( subdir
    libAACdec libAACenc libFDK
    libMpegTPDec libMpegTPEnc
    libPCMutils
    libSBRdec libSBRenc
    libSYS )

    set ( __inc_dir ${FDK_AAC_SOURCE_DIR}/${subdir}/include )

    include_directories ( ${__inc_dir} )
    install ( DIRECTORY ${__inc_dir}/ DESTINATION ${INCLUDE_INSTALL_DIR}/fdk-aac/ )

    file ( GLOB __src_files
        ${FDK_AAC_SOURCE_DIR}/${subdir}/src/*.cpp
        ${FDK_AAC_SOURCE_DIR}/${subdir}/src/*.h )
    list ( APPEND SOURCE_FILES ${__src_files} )
endforeach ()

add_library ( fdk-aac STATIC
    ${SOURCE_FILES} )

install ( TARGETS fdk-aac
    ARCHIVE DESTINATION ${ARCHIVE_INSTALL_DIR} )

 

3.VS工程建立

运行CMake(GUI)工具,如图处理:

 

 

4.工程创建成功后,进行编译。

5.编译好的libfdk-aac,放入到ffmpeg目录下进行编译。

./configure --enable-shared --disable-static --enable-optimizations --enable-protocols --enable-gpl --enable-version3--enable-libx264 --enable-encoder=libx264 --enable-libfdk-aac --enable-nonfree  --enable-decoder=h264 --enable-encoder=h264 --enable-encoder=aac --enable-decoder=aac --enable-encoder=pcm --enable-decoder=pcm  --disable-programs --prefix=./vs2015_shared --toolchain=msvc --disable-debug --extra-cflags=-I/usr/local/include --extra-ldflags=-LIBPATH:/usr/local/lib


文章转载于https://www.cnblogs.com/shansheng/p/3900043.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
经过2周摸索,十余小时编译,失败若干次,收10积分不过分吧.评价以后还会还给你的! 完全自己编译, 运行通过. 编译环境win7 32位 MinGW+msys 我使用vs2010开发没有任何错误. 内涵文件: bin, lib, include, share, ffmpeg-1.0编译说明.txt ffmpeg-1.0 发布日期:2012年9月28日 说明: =================================================================== 本次编译ffmpeg主要参考了 ffmpeg工程组编译ffmpeg-SDK3.2编译说明; <> http://www.chinavideo.org/viewthread.php?tid=7837 ; <> http://bbs.chinavideo.org/viewthread.php?tid=9129&extra=page=1 <> http://www.codecoolie.com/ffmpeg/compile-ffmpeg-under-windows/ 以及其他类似的文章,同时也得到了ffmpeg的几个qq群里面的朋友的帮助, 在此表示感谢! 这次编译, 在参考如上文章的基础上, 根据ffmpeg-1.0的帮助文档, 详细查看了他所支持的第三方库, 尽力收集了大部分第三方库进行集成编译. 有关第三方库请参考编译命令; =================================================================== 编译命令: =================================================================== ./configure --prefix=/ffmpeg-1.0 --enable-memalign-hack --enable-shared --disable-static --disable-encoder=snow --disable-decoder=ac3 --disable-decoder=vorbis --disable-encoder=vorbis --enable-ffplay --disable-ffserver --enable-pthreads --enable-nonfree --enable-libfaac --enable-libmp3lame --enable-avisynth --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfdk-aac --extra-cflags=-I/library/include --extra-ldflags=-L/library/lib ================================================= 支持格式: 详见解压包里面的 ffmpeg-1.0编译说明.txt ================================================================== 编译者: 缘圆628 www.wangshu.cn 再次鸣谢发表撰写编译方法的好心的朋友们. 2012年10月19日

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值