1. 程式人生 > >CMakeList配置之編譯多個.cpp檔案

CMakeList配置之編譯多個.cpp檔案

上次提到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都不成問題啦!快去動手試試吧

個人經驗分享,如有錯漏,請指正,謝謝