Featured image of post 使用CMake配置交叉编译

使用CMake配置交叉编译

下载编译器

  • 以【aarch64-none-linux-gnu】为例,下载并解压
  • 配置全局环境变量,方便在Shell中全局使用

方法1

1
2
3
4
5
6
7
8
9
cmake_minimum_required(VERSION 3.10.0)
project(test VERSION 0.1.0 LANGUAGES C CXX)

# 设置C语言编译器
set(CMAKE_C_COMPILER aarch64-none-linux-gnu-gcc)
# 设置C++编译器
set(CMAKE_CXX_COMPILER aarch64-none-linux-gnu-g++)

add_executable(${PROJECT_NAME} main.cpp)

方法2

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
cmake_minimum_required(VERSION 3.10.0)
project(test VERSION 0.1.0 LANGUAGES C CXX)

# 设置C语言编译器
set(CMAKE_C_COMPILER aarch64-none-linux-gnu-gcc)
# 设置C++编译器
set(CMAKE_CXX_COMPILER aarch64-none-linux-gnu-g++)
# 指定目标系统名称
set(CMAKE_SYSTEM_NAME Linux)
# 指定目标系统处理器架构
set(CMAKE_SYSTEM_PROCESSOR aarch64)

add_executable(${PROJECT_NAME} main.cpp)

方法3

1
2
3
4
5
6
7
8
9
# 文件1:toolchain-aarch64.cmake
# 设置C语言编译器
set(CMAKE_C_COMPILER aarch64-none-linux-gnu-gcc)
# 设置C++编译器
set(CMAKE_CXX_COMPILER aarch64-none-linux-gnu-g++)
# 指定目标系统名称
set(CMAKE_SYSTEM_NAME Linux)
# 指定目标系统处理器架构
set(CMAKE_SYSTEM_PROCESSOR aarch64)
1
2
3
4
# 文件2:CMakeList.txt
cmake_minimum_required(VERSION 3.10.0)
project(test VERSION 0.1.0 LANGUAGES C CXX)
add_executable(${PROJECT_NAME} main.cpp)
1
2
# 使用方式
cmake -DCMAKE_TOOLCHAIN_FILE=toolchain-aarch64.cmake
Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 StackJimmy 设计