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

1.前提条件

        1.1 arm交叉编译器已经安装

        1.2 cmake已经安装

2.编写CMakeList.txt

3.编写toolchain.cmake

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

实际操作如下:

文件列表:

main.c  //打印hello Kitty

#include <stdio.h>

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等,表示编译成功。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值