linux的ubuntu下,c++跨架构交叉编译,x86_64编译成arm架构,clion配置交叉编译环境

由于linux的ubuntu是x86_64架构,需要编译一个动态库so,在安卓android上使用,而android的架构一般是arm架构,因此需要跨架构交叉编译

1、安装arm编译工具
去这个地址下载个arm-linux-gcc-4.3.2(这是arm32)
http://www.arm9.net/download.asp或者http://code.google.com/p/princess-alist/downloads/detail?name=arm-linux-gcc-4.3.2.tgz&can=2&q
这个是arm64 aarch64(MSB大端模式)
https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads
这个arm64 aarch64(LSB小端模式)(我是x86_64编译的so,运行在android11的手机上,可能很多人都会需要这个版本的)
https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads
下载这个版本:

	AArch64 GNU/Linux target (aarch64-none-linux-gnu)

    	gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.xz

2、解压

cd /usr/local
sudo mkdir arm_4.4.3
mv arm-linux-gcc-4.4.3.tgz /usr/local/arm_4.4.3
tar -xzf arm-linux-gcc-4.4.3.tgz

3、新增环境变量(可能不需要)

sudo gedit ~/.bashrc
#在底部添加如下代码:
export PATH=$PATH:/usr/local/arm_4.4.3/bin

4、clion配置arm交叉编译工具链
打开file - settings - build,excution,deployment - ToolChains
在这里插入图片描述

打开file - settings - build,excution,deployment - CMake
在这里插入图片描述

5、选择编译工具
在这里插入图片描述

6、接下来编译出来的动态库so,就是arm架构的
可以使用file指令查看文件的架构

speed@speedMaster:/home/testSo/cmake-build-debug-arm-linux$ file libTestSo.so 
libTestSo.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, with debug_info, not stripped
  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bean_zx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值