CMakeList配置之编译多个.cpp文件

上次提到AndroidStudio2.2进行NDK开发超方便的配置方式,不用进行Android.mk 配置,也不用进行Application.mk配置,只要配置CMakeList即可。那么问题来了,通过该方式生成的配置文件默认是只native-lib.cpp一个cpp文件的,那么怎么配置编译多个.cpp文件呢?

以之前发布的

NDK下获取IEIM并且使用MD5算法加密

为例,我们另外需要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都不成问题啦!快去动手试试吧


个人经验分享,如有错漏,请指正,谢谢

阅读更多
文章标签: android jni CMakeList
个人分类: android ndk
上一篇Android中WebView的JavaScript-native交互
下一篇listview的优化进阶
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭