##################################
# 配置 ARM 交叉编译
#################################
set(CMAKE_SYSTEM_NAME Linux) #设置目标系统名字
set(CMAKE_SYSTEM_PROCESSOR arm) #设置目标处理器架构
# 指定编译器的 sysroot 路径
set(TOOLCHAIN_DIR /root/4.9.3)
set(CMAKE_SYSROOT ${TOOLCHAIN_DIR}/arm-cortexa9-linux-gnueabihf/sys-root)
# 指定交叉编译器 arm-linux-gcc 和 arm-linux-g++
set(CMAKE_C_COMPILER ${TOOLCHAIN_DIR}/bin/arm-cortexa9-linux-gnueabihf-gcc)
set(CMAKE_CXX_COMPILER ${TOOLCHAIN_DIR}/bin/arm-cortexa9-linux-gnueabihf-g++)
# 为编译器添加编译选项
set(CMAKE_C_FLAGS "-mcpu=cortex-a7 -std=gnu99 -mfpu=neon-vfpv4 -Wall -fPIC -O2 -fno-aggressive-loop-optimizations")
set(CMAKE_CXX_FLAGS "-mcpu=cortex-a7 -std=gnu++11 -mfpu=neon-vfpv4 -Wall -fPIC -O2 -fno-aggressive-loop-optimizations ")
# set(CMAKE_EXE_LINKER_FLAGS "-lpthread -lm")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
#################################
# end
##################################
在顶层目录中新建一个名为arm-linux-setup.cmake文件,然后进入build目录,执行命令
cmake -DCMAKE_TOOLCHAIN_FILE=../arm-linux-setup.cmake ..