linux 交叉编译 C和C++


在ubuntu 中搭建arm交叉编译环境的过程记录。

安装编译器

安装aarch64-linux-gnu编译器,可以参考
参考链接
安装完成后,可以到/usr/arm-linux-gnueabi目录下查看。
gcc-aarch64-linux-gnu -v## 查看安装版本

Cmake中选择编译器

  • 设置环境
    可以放在对应的build.sh中。
export CC=/usr/bin/aarch64-linux-gnu-gcc
export CXX=/usr/bin/aarch64-linux-gnu-g++
  • Cmake中参数设置
set (CMAKE_C_COMPILER "/usr/bin/aarch64-linux-gnu-gcc")
set (CMAKE_CXX_COMPILER "/usr/bin/aarch64-linux-gnu-g++")
project(main CXX C) # 这里可以不写CXX和C,但不能只写一个,否则只会编译指定语言
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")  #设置c++的编译选项
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99")  #设置c的编译选项
aux_source_directory(./src dir_src) #指定路径,并产生变量${dir_src}
add_executable(main ${dir_src}) #指定代码目录

编译运行

正常cmake和make就可以了。

注意

使用aarch64-linux-gnu非默认编译器时,如果没有找到对应的链接库,需要手动添加路径或者将链接库文件拷贝到/usr/arm-linux-gnueabi/include 目录下。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值