aarch64-linux-gcc安装编译及生成so动态库和调用

aarch64-linux-gcc下载

官方二进制下载
Ubuntu packages 提供了软件包: gcc-arm-linux-gnueabihf (4:7.4.0-1ubuntu2.3 以及其他的) 。

建议直接从 linaro 的官网下载相应版本的 gcc-linaro 交叉编译工具,并直接选择带有二进制的文件,即在官网入口处选择 binaries 路径,该文件夹下面包含各种版本的已经编译好的 aarch64-linux-gnu-gcc 二进制可执行程序
在这里插入图片描述
x86_64 代表宿主机是64位的,其他的则都为32位的
_be 代表是大端模式,不带该字段的为小端模式

下载完成之后,解压,压缩包里的 bin 目录下,就有我们需要的交叉编译器,直接使用即可。当然,也可以从 ARM 官网下载更多的 GNU Toolchain for the A-profile Architecture

环境变量设置

  1. 把交叉编译工具链的路径添加到环境变量PATH中去,这样就可以在任何目录下使用这些工具。记下上一步中的安装路径,使用命令:vim /etc/profile 编辑profile文件,添加环境变量。
    注:插入字符指令:i 退出保存指令: esc :wq 回车
    在这里插入图片描述

2.在profile中最后一行添加:

export   PATH
=$PATH:/home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin

这个路径就是那个bin目录所在的路径,可能你的不一样,按照你实际的目录填就可以了,如下图

在这里插入图片描述
3. 使用命令:source /etc/profile 使环境变量生效

使用命令:aarch64-linux-gun-gcc -v 显示版本号
aarch64-linux-gun-gcc根据自己bin目录下实际的对应的版本名字输入

动态库编译

对当前文件所有c文件链接生成动态库output

arcch64-linux-gun-gcc   *.c  -fpic -shared -o   ouput.so

动态库调用

调用函数为main.c ,库为output.so,
将两个文件都放在一个文件夹下为path

1.设置目录读写权限

chmod -R 777    path

2.设置库的搜索地址

cd path 
export LD_LIBRARY=$LD_LIBRARY_PATH:$(pwd)

3.执行编译

arrch64-linux-gun-gcc main.c -o  main -L. -loutput

4.测试

./main

部分转自:https://blog.csdn.net/m0_54850825/article/details/124487551
部分转自:https://www.linuxprobe.com/ubuntu-arm-linux.html
部分转自:https://blog.csdn.net/qq_42939980/article/details/124150004
参考来源:https://blog.csdn.net/m0_50662680/article/details/128390637
参考来源:https://blog.csdn.net/Dai_sir_man/article/details/124608064

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

_SimpleLife

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

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

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

打赏作者

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

抵扣说明:

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

余额充值