Ndk系列之CmakeList常用内置命令用法详解

message命令:

用途:​​​​用于输出打印信息。

范例:message(“Hello World”)。

include_directories命令:

用途:引入某目录的所有的头文件,加载静态库或动态库的时候,使用时需要引入头文件。

范例:include_directories( 目录/include/ )。

set 命令:

用途:用于设置属性值,(自定义属性值或内置属性值)为下文使用。

范例:set(属性名字  属性值),下文使用${属性名字}。

find_library命令:

用途:寻找内置库并为它附一个别名,在Ndk中提供的内置库例如(android log库等等)。

范例:findLibrary(别名 log),别名将在链接中打包进你自己生成的库。

file 命令:

用途:用于将目录中的文件集中生明为别名好用于编译。

范例:file(GLOB 别名 src/main/cpp/*.cpp) 将cpp目录下的所有的cpp文件引入为别名目录(GLOB 用于产生一个文件(目录)路径列表并保存在别名中),方便add_library命令引入需要编译的文件,不需要一个文件一个文件的引入。

add_library命令:

用途:用于产生需要编译的所有文件的别名。

范例:add_library(别名 SHARED gles3jni.cpp RendererES2.cpp RendererES3.cpp)(SHARED和STATIC标记是动态库还是静态库)

target_link_libraries命令:

用途:find_library和add_library引入的别名库名全部链接到一起打包进你将要生成的库。

范例:target_link_libraries( native-lib(生成库文件的名字)    swscale(你自己生成的引入库名字)          log(添加系统内置库)  z android OpenSLES)

set_target_properties命令:

用途:设置add_library(它可以只生成别名而不需要添加绑定的文件名别名引入的库位置(也就是添加其他预编译好的库进项目)

范例:add_library( imported-lib
             SHARED
             IMPORTED )
# 参数分别为:库、属性、导入地址、so所在地址set_target_properties(
                       imported-lib
                       PROPERTIES 
                       IMPORTED_LOCATION
                       ${CMAKE_SOURCE_DIR}/src/${ANDROID_ABI}/libimported-lib.so )

add_subdirectory命令:

用途:用于引入子编译文件(CMakeLists.txt引入另一个子CMakeLists.txt用于编译)

范例:add_subdirectory(包含子CMakeLists.txt的文件夹名称

命令官方地址:https://cmake.org/cmake/help/v3.4/manual/cmake-commands.7.html

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值