关于在as上使用cmake开发NDK,还没有比较详细统一的资料,就个人踩过的一些坑记一下,我们在android NDK开发的时候大部分是在windows下面进行开发,在windows下面编译用标准c++库的一些文件,然后又要编译成so的时候,这个时候就比较坑了。
文件之多,比较乱,还有的时候一些文件并不需要编译成so。。。不过,使用cmake比mk编译还是爽一些,至少添加c文件不用一个一个的写。
一,添加文件非常暴力。
file(GLOB_RECURSE cpp_list ./*.cpp) 这个file命令,使用GLOB_RECURSE参数的时候即表示递归搜索的意思,上面这句话的意思是递归搜索当前目录及其子目录下的所有.cpp文件,把其完整路径放入列表cpp_list中。够暴力吧,file还有很多指令。比如READ,WRITE,RENAME,等等不一一介绍了,
include_directories( BEFORE SYSTEM ,)添加头文件,这个会连同子目录的都会添加。
好了,我的项目有个需求,有一些模块,有些模块下面的一些文件也不需要添加进去,要是哪一天需求又变了,这个又要加进去。一个一个文件的添加,修改的人多了,会乱的,如果说NDK有多个人开发,还是自己维护自己的模块比较好。
macro( add_submodule dir )
set( options )