cmake交叉編譯android(轉)

生成cmake編譯所需的文件html

#-H指向CMakeLists.txt文件父級目錄 #-B指向中間產物目錄 #-DCMAKE_LIBRARY_OUTPUT_DIRECTORY指向so輸出目錄 #-DCMAKE_TOOLCHAIN_FILE指向android.toolchain.cmake文件,可使用ndk自帶的,也可使用clone下來的項目中的文件 #-DANDROID_NDK指向ndk目錄 #-DANDROID_ABI定義目標cpu結構,取值armeabi,armeabi-v7a,arm64-v8a,x86,x86_64,mips,mips64中的一個 #-DCMAKE_BUILD_TYPE定義構建類型,取值Debug或Release,Release構建作-O3三級優化 #-DANDROID_PLATFORM定義最低api版本 #-DANDROID_TOOLCHAIN表示交叉編譯鏈類型,取值gcc或者clang,gcc已經被廢棄 #-DANDROID_STL指明使用的stl #-DCMAKE_C_FLAGS表明c編譯器參數 #-DCMAKE_CXX_FLAGS表明c++編譯器參數 #更多參數見google官方文檔 https://developer.android.com/ndk/guides/cmake.html
#若是須要使用ninja構建,追加-GAndroid Gradle - Ninja參數,該參數標準cmake可執行文件不支持,只有sdk下的cmake支持 /Users/lizhangqu/AndroidSDK/cmake/3.6.3155560/bin/cmake \ -H"../jni" \ -B"../build/android/armeabi-v7a" \ -DANDROID_ABI="armeabi-v7a" \ -DANDROID_NDK="/Users/lizhangqu/AndroidNDK/android-ndk-r14b" \ -DCMAKE_LIBRARY_OUTPUT_DIRECTORY="../build/android/libs/armeabi-v7a" \ -DCMAKE_BUILD_TYPE="Release" \ -DCMAKE_TOOLCHAIN_FILE="/Users/lizhangqu/AndroidNDK/android-ndk-r14b/build/cmake/android.toolchain.cmake" \ -DANDROID_PLATFORM="android-14" \ -DANDROID_TOOLCHAIN="clang" \ -DCMAKE_C_FLAGS="-fpic -fexceptions -frtti" \ -DCMAKE_CXX_FLAGS="-fpic -fexceptions -frtti" \ -DANDROID_STL="c++_static" \
相關文章
相關標籤/搜索