androidstudio下JNI的CMakeList.txt编写教程

 时间:2024-10-31 23:20:29

1、先简单介绍一下CMake是一个跨平台的编译工具,可以用简单的语句来描述所有平台的编译过程。他能够输出各种各样的makefile或者project文件,所有的语句都写在一个叫:CMakeLists.txt的文件中。

androidstudio下JNI的CMakeList.txt编写教程

2、android studio工程目录结构

androidstudio下JNI的CMakeList.txt编写教程

3、先上一个完整版本的CMakeLists.txtcmake_minimum_required(VERSION 3.4.1)include_directories(src/main/cpp/include/)add_definitions(-D_LINUX -D_ANDROID)add_library( native-lib SHARED src/main/cpp/native-lib.cpp )add_library(othermodule SHARED IMPORTED)set_target_properties(othermodule PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/src/main/jniLibs/${ANDROID_ABI}/libothermodule.so)find_library(log-lib log )target_link_libraries( native-lib othermodule ${log-lib})

androidstudio下JNI的CMakeList.txt编写教程

4、简单介绍一下基本语法cmake_minimum_required(VERSION 3.4.1)用于指定cmake的最小版本要求

androidstudio下JNI的CMakeList.txt编写教程
androidstudio下JNI的CMakeList.txt编写教程

5、用于指定头文件的目录include_directories(src/main/cpp/include/)

androidstudio下JNI的CMakeList.txt编写教程

6、定义jni编译宏和其它编译参数add_definitions(-D_LINUX -D_ANDROID)

androidstudio下JNI的CMakeList.txt编写教程

7、指定生成库的名称和类型,编译使用的c/c++文件add_library( native-lib SHARED src/main/cpp/native-lib.cpp )

androidstudio下JNI的CMakeList.txt编写教程

8、引用第三方库,这是第三库引用的方式add_library(othermodule SHARED IMPORTED)set_target_properties(othermodule PROPERTIES IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/src/main/jniLibs/${ANDROID_ABI}/libothermodule.so)

androidstudio下JNI的CMakeList.txt编写教程

9、引用android系统的系统库,如log库,是打印日志用的库find_library(log-lib log )

10、与第三库链接生成目标native-lib库target_link_libraries( native-lib othermodule ${log-lib})

androidstudio下JNI的CMakeList.txt编写教程
androidstudio下JNI的CMakeList.txt编写教程
  • centOS7.3忘记密码/修改root密码
  • java文件流如何在txt中指定位置写入
  • LITO H3C模拟器实验快速环网保护协议配置
  • 电脑Windows系统如何更改电脑的分辨率大小
  • 思科3560 汇聚配置
  • 热门搜索
    关于读书手抄报资料 熊猫手抄报 英语手抄报版面设计图 关于黄河的手抄报初一 关于圣诞节的手抄报 精美手抄报 三节三爱手抄报内容 道德手抄报 手抄报的格式 法制手抄报内容大全