CMAKE_TOOLCHAIN_FILE

CMAKE_TOOLCHAIN_FILE

CMAKEクロスコンパイラはさておき文書.cmakeパスを定義する変数CMAKE_TOOLCHAIN_FILE、例えばC_COMPILER、等CXX_COMPILERとして直列CMAKE変数および特性を、提供されるドキュメントを設定します。利点は、使用される複数回、異なるプラットフォームアーキテクチャクロスコンパイラツールチェーンは、別toolchain.cmakeファイルを書き込むことができたら、CMakeLists.txtエンジニアリングツールチェインのための共通フォーマットを書き込むことができるファイルが書き込みである.cmake見えません。cmakeのスクリプトは次のとおりです。

cmake -DCMAKE_TOOLCHAIN_FILE=../depneds/toolchains/ndk64-toolchain.cmake .. && make
cmake -DCMAKE_TOOLCHAIN_FILE=../depends/toolchain/ndk32-toolchain.cmake .. && make

toolchain.cmakeデモ

set(CMAKE_SYSTEM_NAME Android)

set(CMAKE_ANDROID_API 21)
set(CMAKE_ANDROID_ARCH_ABI aarch64)
set(CMAKE_ANDROID_STL_TYPE gnustl_static)

set(TOOLCHAIN_PATH /opt/sdk/android-aarch64)
# set(ANDROID_LIB_PATH ${TOOLCHAIN_PATH}/sysroot/usr/lib)

set(CMAKE_C_COMPILER ${TOOLCHAIN_PATH}/bin/aarch64-linux-android-gcc)
set(CMAKE_C_FLAGS "-D__ANDROID_API__=21  -fno-exceptions -O2 -fpie -fpic -fPIE -fPIC -pie -lm -Wl,-llog" CACHE STRING "" FORCE)

set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PATH}/bin/aarch64-linux-android-g++)
set(CMAKE_CXX_FLAGS "-D__ANDROID_API__=21 -DANDROID_STL=gnustl_static -fno-exceptions -O2 -fpie -fpic -fPIE -fPIC -pie -std=c++11 -lm -lstdc++ -Wl,-llog" CACHE STRING "" FORCE)

おすすめ

転載: www.cnblogs.com/cristiano-duan/p/12275271.html