Linux环境下使用cmake交叉编译ARM程序

1.前提条件

        1.1 arm交叉编译器已经安装

        1.2 cmake已经安装

2.编写CMakeList.txt

3.编写toolchain.cmake

        用于指定cmake的交叉编译工具链。

实际操作如下:

文件列表:

main.c  //打印hello Kitty

#include 

int main(){
    print("hello kitty\n");
    return 0;
}

CMakeList.txt

cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
project(recipe-01  LANGUAGES C) 
add_executable(cal  main.c)

toolchain.cmake

set(CMAKE_SYSTEM_NAME  Linux) #这里以Linux为例
set(TOOLCHAIN_PATH  /home/test/src/func/build) 这里指定toolchain的目录
set(TOOLCHAIN_PATH ${tools}/usr/local/arm/gcc-linaro-6.5.0-2018.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc) 这里指定交叉编译工具的路径
set(TOOLCHAIN_PATH ${tools}/usr/local/arm/gcc-linaro-6.5.0-2018.12-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++) 这里指定交叉编译工具的路径

执行命令:

mkdir -p build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=/home/test/func/bulid/toolchain.cmake  ..
注意-D选项后面没有空格, 最后有指定目录 ..

最后执行make命令,就可以生成ARM架构下的可执行程序了,可以先使用file命令查看一下。

file   cal  若看到armxxx等,表示编译成功。

你可能感兴趣的:(工具链,交叉编译)