cmake 交叉编译防坑指南
近来用cmake编译arm代码和第三方库遇到一些坑,在这里回顾一下,供大家借鉴。
cmake出现多层嵌套时的交叉编译指令
cmake -DMAKE_TOOLCHAIN_FILE=xxx.cmake .
xxx.cmake内需写明如下内容:
#告知当前使用的是交叉编译方式,必须配置
SET(CMAKE_SYSTEM_NAME Linux)
#指定C交叉编译器,必须配置
SET(CMAKE_C_COMPILER "/opt/arm-oe-linux-gnueabi/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc")
#指定C++交叉编译器
SET(CMAKE_CXX_COMPILER "/opt/arm-oe-linux-gnueabi/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-g++")
#CMAKE_SYSROOT只有在3.0以上的版本才有效
SET(CMAKE_SYSROOT "/opt/arm-oe-linux-gnueabi/armv7")