CMake的使用
- 安装到指定目录
- toolchain-aarch64.cmake
- CMake字段说明
- CMake指令编译
安装到指定目录
toolchain-aarch64.cmake
# toolchain-aarch64.cmake
set(CMAKE_SYSTEM_NAME Arm)
set(CMAKE_SYSTEM_PROCESSOR aarch64)
set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc)
set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++)
# 如果有sysroot的话,一般是开发板厂家提供
# set(CMAKE_SYSROOT /path/to/aarch64/sysroot)
# 在交叉编译时优先考虑 sysroot 中的库和头文件
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
# 设置标准库和 CMake 的路径
SET(CMAKE_C_FLAGS "-march=armv8-a -O2")
SET(CMAKE_CXX_FLAGS "-march=armv8-a -O2")
CMake字段说明
字段 | 含义 | 示例 |
---|
CMAKE_INSTALL_PREFIX | 安装目录 | cmake -DCMAKE_INSTALL_PREFIX=…/install |
CMAKE_C_COMPILER | C语言编译工具 | set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc) |
CMAKE_CXX_COMPILER | C++编译工具 | set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++) |
CMAKE_C_FLAGS | C语言编译参数 | SET(CMAKE_C_FLAGS “-march=armv8-a -O2”) |
CMAKE_CXX_FLAGS | C++编译参数 | SET(CMAKE_CXX_FLAGS “-march=armv8-a -O2”) |
CMake指令编译
cmake ../ -DCMAKE_C_COMPILER=aarch64-linux-gnu-gcc -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ \
-DCMAKE_INSTALL_PREFIX=../install/Arm-linux
make -j8 && make install