android studio中的CMakeLists.txt,就是如此简单
user:Linvest
目录
1、cmake_minimum_required(VERSION 3.4.1)
2、add_library(native-lib SHARED native-lib.cpp )
3、target_link_libraries(haha ${log-lib} )
用android studio创建了一个C++的工程后,发现多了一个CMakeLists.txt文件,简简单单的3个语句
1、cmake_minimum_required(VERSION 3.4.1)
解:cmake的最低版本:xxx
问:怎么知道用的cmake版本?
解:sdk里面有cmake文件夹,打开就能看见;
2、add_library(native-lib SHARED native-lib.cpp )
解:native-lib为库名,给java加载;
SHARED动态库,也可以是STATIC静态库;
native-lib.cpp C++文件;
问:native-lib可以改不?
解:随意改,改了之后需要改target_link_libraries和java加载库名字(全局搜一下)
问:能弄两个库吗,需要怎么做?
解:能;
1)增加:add_library(库名 SHARED c++文件)
以增加haha库为例:
add_library(haha SHARED haha.cpp )
2)java调用的地方加载,就能够用了;
问:一个库多个cpp怎么写?
解:add_library(native-lib SHARED native-lib.cpp haha.cpp ...)
3、target_link_libraries(haha ${log-lib} )
解:链接库需要关联哪些lib
问:不写行不行?
解:行,不关联任何C库就行了;
问:log-lib有何用,怎么用?
解:能够调用printf/cout等输出接口,C++没看见有cout,printf可以用,但在logcat窗口没看见,还是用android的打印吧;
接着问:C++程序上如何使用android的打印接口
解:1)增加头文件:#include <android/log.h>
2)__android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)
如:__android_log_print(ANDROID_LOG_DEBUG, "tag", "data=%d",100); 输出:tag: data=100
还不够简单?就需要看:android从未入门到放弃了