上次提到AndroidStudio2.2进行NDK开发超方便的配置方式,不用进行Android.mk 配置,也不用进行Application.mk配置,只要配置CMakeList即可。那么问题来了,通过该方式生成的配置文件默认是只native-lib.cpp一个cpp文件的,那么怎么配置编译多个.cpp文件呢?
以之前发布的
为例,我们另外需要MD5.cpp和IEIM.cpp, 将工程在AndroidStudio2.2中编写好后,编译,(⊙o⊙)哦!
密集恐惧症要来了, 忍住,一定要忍住。。。。
这个错是啥意思 仔细分析 其实就是找不到MD5.cpp和IEIM.cpp中的方法啦。
怎么解决呢?
Module下有一个CMakeLists.txt 的文件 默认内容是这样的,(只贴了需要改动的部分)
cmake_minimum_required(VERSION 3.4.1) # 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 it for you. # Gradle automatically packages shared libraries with your APK. add_library( # Sets the name of the library. native-lib # Sets the library as a shared library. SHARED # Provides a relative path to your source file(s). # Associated headers in the same location as their source # file are automatically included. src/main/cpp/native-lib.cpp )
改为
cmake_minimum_required(VERSION 3.4.1) # 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 it for you. # Gradle automatically packages shared libraries with your APK. file(GLOB native_srcs "src/main/cpp/*.cpp") add_library( # Sets the name of the library. native-lib # Sets the library as a shared library. SHARED # Provides a relative path to your source file(s). # Associated headers in the same location as their source # file are automatically included. ${native_srcs})
哈哈,大功告成!再多个cpp都不成问题啦!快去动手试试吧
个人经验分享,如有错漏,请指正,谢谢