交叉编译
cmake 有一个选项, CMAKE_TOOLCHAIN
, 用于指定预定义好的交叉编译工具链,
下面是一个简单的配置,用于编译树莓派32位应用:
set(CMAKE_SYSTEM_NAME Linux)
# C/C++ compilers
set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc)
set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++)
set(CMAKE_FIND_ROOT_PATH /opt/pi4)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
使用方法也很简单,只需要在编译时指定这个工具链即可:
mdkir build
cd build
cmake -DCMAKE_TOOLCHAIN=/path/to/toolchain ..