CMakeList配置JNI包含多個(gè)cpp文件

  • 整合后結(jié)構(gòu):
項(xiàng)目結(jié)構(gòu)
  • 外層CMakeList文件配置:
#指定需要CMAKE的最小版本
cmake_minimum_required(VERSION 3.4.1)
#C的編譯選項(xiàng)是 CMAKE_C_FLAGS
#指定編譯參數(shù)爽醋,可選
SET(CMAKE_CXX_FLAGS "-Wno-error=format-security -Wno-error=pointer-sign")
#設(shè)置生成的so動(dòng)態(tài)庫(kù)最后輸出的路徑
#set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/../jniLibs/${ANDROID_ABI})
#設(shè)置頭文件搜索路徑(和此txt同個(gè)路徑的頭文件無需設(shè)置)拒贱,可選
#INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/common)
#指定用到的系統(tǒng)庫(kù)或者NDK庫(kù)或者第三方庫(kù)的搜索路徑,可選拦耐。
#LINK_DIRECTORIES(/usr/local/lib)
#添加子目錄,將會(huì)調(diào)用子目錄中的CMakeLists.txt
ADD_SUBDIRECTORY(ffmpeg)
  • 內(nèi)層CMakeList文件配置:
find_library( # Sets the name of the path variable.
        log-lib

        # Specifies the name of the NDK library that
        # you want CMake to locate.
        log )
find_library(android-lib android)

# 查找當(dāng)前目錄下的所有源文件轩猩,并保存到 DIR_LIB_SRCS 變量
aux_source_directory(. DIR_LIB_SRCS)

# Creates and names a library, sets it as either STATIC
# or SHARED, and provides the relative paths to its source code.
# You can define multiple libraries, and CMake builds them for you.
# Gradle automatically packages shared libraries with your APK.
# 根據(jù)c文件產(chǎn)生動(dòng)態(tài)庫(kù)
ADD_LIBRARY(native-lib SHARED ${DIR_LIB_SRCS})


set(JNI_LIBS_DIR ${CMAKE_SOURCE_DIR}/../jniLibs)

# 引入已編譯的庫(kù)
add_library(avutil
        SHARED
        IMPORTED )
set_target_properties(avutil
        PROPERTIES IMPORTED_LOCATION
        ${JNI_LIBS_DIR}/${ANDROID_ABI}/libavutil.so )

add_library(swresample
        SHARED
        IMPORTED )
set_target_properties(swresample
        PROPERTIES IMPORTED_LOCATION
        ${JNI_LIBS_DIR}/${ANDROID_ABI}/libswresample.so )

add_library(swscale
        SHARED
        IMPORTED )
set_target_properties(swscale
        PROPERTIES IMPORTED_LOCATION
        ${JNI_LIBS_DIR}/${ANDROID_ABI}/libswscale.so )

add_library(avcodec
        SHARED
        IMPORTED )
set_target_properties(avcodec
        PROPERTIES IMPORTED_LOCATION
        ${JNI_LIBS_DIR}/${ANDROID_ABI}/libavcodec.so )

add_library(avformat
        SHARED
        IMPORTED )
set_target_properties(avformat
        PROPERTIES IMPORTED_LOCATION
        ${JNI_LIBS_DIR}/${ANDROID_ABI}/libavformat.so )

add_library(avfilter
        SHARED
        IMPORTED )
set_target_properties(avfilter
        PROPERTIES IMPORTED_LOCATION
        ${JNI_LIBS_DIR}/${ANDROID_ABI}/libavfilter.so )

add_library(avdevice
        SHARED
        IMPORTED )
set_target_properties(avdevice
        PROPERTIES IMPORTED_LOCATION
        ${JNI_LIBS_DIR}/${ANDROID_ABI}/libavdevice.so )


include_directories(${JNI_LIBS_DIR}/includes)


target_link_libraries( # Specifies the target library.
        native-lib
        avutil swresample swscale avcodec avformat avfilter avdevice
        # Links the target library to the log library
        # included in the NDK.
        ${log-lib} ${android-lib} )

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末曙旭,一起剝皮案震驚了整個(gè)濱河市茧球,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌枪狂,老刑警劉巖危喉,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異州疾,居然都是意外死亡姥饰,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門孝治,熙熙樓的掌柜王于貴愁眉苦臉地迎上來列粪,“玉大人审磁,你說我怎么就攤上這事∑褡” “怎么了态蒂?”我有些...
    開封第一講書人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)费什。 經(jīng)常有香客問我钾恢,道長(zhǎng),這世上最難降的妖魔是什么鸳址? 我笑而不...
    開封第一講書人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任瘩蚪,我火速辦了婚禮,結(jié)果婚禮上稿黍,老公的妹妹穿的比我還像新娘疹瘦。我一直安慰自己,他們只是感情好巡球,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開白布言沐。 她就那樣靜靜地躺著,像睡著了一般酣栈。 火紅的嫁衣襯著肌膚如雪险胰。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,287評(píng)論 1 301
  • 那天矿筝,我揣著相機(jī)與錄音起便,去河邊找鬼。 笑死窖维,一個(gè)胖子當(dāng)著我的面吹牛榆综,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播陈辱,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼细诸!你這毒婦竟也來了沛贪?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤震贵,失蹤者是張志新(化名)和其女友劉穎利赋,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體猩系,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡媚送,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了寇甸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片塘偎。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡疗涉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出吟秩,到底是詐尸還是另有隱情咱扣,我是刑警寧澤,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布涵防,位于F島的核電站闹伪,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏壮池。R本人自食惡果不足惜偏瓤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望椰憋。 院中可真熱鬧厅克,春花似錦、人聲如沸熏矿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)票编。三九已至褪储,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間慧域,已是汗流浹背鲤竹。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留昔榴,地道東北人辛藻。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像互订,于是被迫代替她去往敵國(guó)和親吱肌。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354