在新建工程的第一步选择Native C++,工程建好后会在app\src\main\cpp目录下生成CMakeList.txt。
设置CMake需要的最小版本
#设置CMake需要的最小版本
cmake_minimum_required(VERSION 3.4.1)
添加源文件让CMake编译成共享库
add_library(
ffmpeg-cmd
SHARED
ffmpeg/ffmpeg-cmd.cpp ffmpeg/ffmpeg.c ffmpeg/cmdutils.c ffmpeg/ffmpeg_filter.c ffmpeg/ffmpeg_hw.c ffmpeg/ffmpeg_opt.c
)
#指定头文件所在路径,相对于CMakeList.txt所在路径
include_directories(ffmpeg/)
ffmpeg-cmd
-指定共享库名称,库文件名称会自动加上前缀lib
变成libffmpeg-cmd.so
,但是加载的时候仍然使用指定的名称:
System.loadLibrary("ffmpeg-cmd");
SHARED
-指定生成共享库
ffmpeg/ffmpeg-cmd.cpp ffmpeg/ffmpeg.c...
指定源码路径,多个源文件用空格隔开,注意是相对CMakeList.txt的路径
添加预编译的库
add_library(avcodec #指定引入模块的名称
SHARED
IMPORTED