1.构建工程时指定工具链
cmake -DCMAKE_TOOLCHAIN_FILE=/home/…/gnu_arm64.cmake
2.CMAKE_TOOLCHAIN_FILE 交叉编译文件
#工具链文件 gnu_arm64.cmake
set( CMAKE_SYSTEM_NAME Linux )
set( CMAKE_SYSTEM_PROCESSOR arm )
SET(CMAKE_SHARED_LIBRARY_PREFIX "lib")
SET(CMAKE_SHARED_LIBRARY_SUFFIX ".so")
SET(CMAKE_STATIC_LIBRARY_PREFIX "lib")
SET(CMAKE_STATIC_LIBRARY_SUFFIX ".a")
set( SDK "/home/.../gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu" )#指定路径
set( SYS_ROOT "${SDK}/aarch64-linux-gnu/libc" )
set( COMPILER_ROOT "${SDK}/bin" )
set( COMPILER_PREFIX "aarch64-linux-gnu" )
SET(CMAKE_AR "${COMPILER_ROOT}/${COMPILER_PREFIX}-ar" CACHE PATH "ar Program")
SET(CMAKE_RANLIB "${COMPILER_ROOT}/${COMPILER_PREFIX}-ranlib" CACHE PATH "ranlib Program")
SET(CMAKE_NM "${COMPILER_ROOT}/${COMPILER_PREFIX}-nm" CACHE PATH "nm Program")
SET(CMAKE_OBJCOPY "${COMPILER_ROOT}/${COMPILER_PREFIX}-objcopy" CACHE PATH "objcopy Program")
SET(CMAKE_OBJDUMP "${COMPILER_ROOT}/${COMPILER_PREFIX}-objdump" CACHE PATH "objdump Program")
SET(CMAKE_LINKER "${COMPILER_ROOT}/${COMPILER_PREFIX}-ld" CACHE PATH "Linker Program")
SET(CMAKE_STRIP "${COMPILER_ROOT}/${COMPILER_PREFIX}-strip" CACHE PATH "Strip Program")
SET(CMAKE_C_COMPILER "${COMPILER_ROOT}/${COMPILER_PREFIX}-gcc" CACHE PATH "GCC")
SET(CMAKE_CXX_COMPILER "${COMPILER_ROOT}/${COMPILER_PREFIX}-g++" CACHE PATH "G++")
set( CMAKE_FIND_ROOT_ROOT "/home/.../gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu" )#指定路径
SET( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY)
SET( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set( CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=armv8-a -mtune=cortex-a57.cortex-a53 --sysroot=${SYS_ROOT}" CACHE INTERNAL "" FORCE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=armv8-a -mtune=cortex-a57.cortex-a53 --sysroot=${SYS_ROOT}" CACHE INTERNAL "" FORCE)