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

这篇具有很好参考价值的文章主要介绍了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 二进制可执行程序
arch安装gcc,linux,linux,ubuntu,运维
x86_64 代表宿主机是64位的,其他的则都为32位的
_be 代表是大端模式,不带该字段的为小端模式

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

环境变量设置

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

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

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

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

arch安装gcc,linux,linux,ubuntu,运维
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文章来源地址https://www.toymoban.com/news/detail-635470.html

到了这里,关于aarch64-linux-gcc安装编译及生成so动态库和调用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • aarch64-linux交叉编译libcurl带zlib和openssl

    交叉编译libcurl需要依赖zlib和openssl 需要先用aarch64工具链编译zlib和openssl gcc用于执行交叉编译 gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu sysroot是交叉版本的库文件集合 sysroot-glibc-linaro-2.25-2019.12-aarch64-linux-gnu 解压在同一个文件夹下 配置 .cmake 工具链文件 aarch64-linux-gnueabi.toolchain.c

    2024年02月10日
    浏览(46)
  • 在 Ubuntu 18.04 x86_64 上面安装 Linux-ARMv7 A/L GCC编译器

    一键安装  Linux-ARMv7A GCC编译器:(平板、手机一般是) ########################### 输入以下命令: 1、sudo apt update 2、sudo apt install gcc-arm-linux-gnueabi      sudo apt install g++-arm-linux-gnueabi 3、arm-linux-gnueabi-gcc --version 一键安装  Linux-ARMv7L GCC编译器:(机顶盒一般是) 1、sudo apt update

    2024年02月22日
    浏览(57)
  • 在Linux、Ubuntu中跨平台编译ARM(AARCH64)平台的binutils

    Binutils 是GNU(https://www.gnu.org/)提供的一组二进制工具的集合。通常,在已经安装了Linux操作系统的个人电脑上,系统就已经自带了这个工具集。但在进行嵌入式开发的时候,可能会用到支持ARM64平台的Binutils,这时就需要用到交叉编译。 此前,在【1】我们已经介绍过Ubuntu中交

    2024年02月05日
    浏览(71)
  • D2000 debian 11 arm64 aarch64 wine-ce编译安装,运行win32程序 笔记 【失败】

    下载源码 yeqiang@debian:~/Downloads$ git clone https://gitee.com/wine-ce/wine-ce Cloning into \\\'wine-ce\\\'... remote: Enumerating objects: 102, done. remote: Counting objects: 100% (89/89), done. remote: Compressing objects: 100% (83/83), done. remote: Total 102 (delta 54), reused 1 (delta 1), pack-reused 13 Receiving objects: 100% (102/102), 32.75 KiB | 56

    2024年01月18日
    浏览(43)
  • Linux aarch64架构libreoffice安装使用

    libreoffice安装包 tar -zxvf LibreOffice-7.1.tar.gz cd LibreOffice-7.1LibreOfficeDev-7.1-Linux-aarch64-rpmRPMS rpm -Uivh *.rpm --nodeps cd LibreOffice-7.1LibreOfficeDev-7.1-Linux-aarch64-rpm-langpack_zh-CNRPMS rpm -Uivh *.rpm --nodeps cd /opt/libreofficedev7.1/program /opt/libreofficedev7.1/program/oosplash --convert-to html /data/test.doc --outdir /da

    2024年02月07日
    浏览(59)
  • 龙芯loongarch64服务器编译安装gcc-8.3.0

    前言         当前电脑的gcc版本为8.3.0,但是在编译其他依赖包的时候,出现各种奇怪的问题,会莫名其妙的中断编译。本地文章讲解如何自编译安装gcc,替换系统自带的gcc。 环境准备 下载页面:龙芯开源社区网站 - LoongArch GCC 8.3 交叉工具链 - 源码下载 源码包名称如: l

    2024年02月02日
    浏览(58)
  • pytorch-v2.0.1 cuda arm64 aarch64 torch 2.0.1+cu118 源码编译笔记【2】验证cuda安装 成功

    接上篇 pytorch-v2.0.1 cuda arm64 aarch64 torch 2.0.1+cu118 源码编译笔记_hkNaruto的博客-CSDN博客 由于采用/usr/local/bin/gcc编译,先设置LD_LIBRARY_PATH,再启动python3 import torch报错 # /usr/local/Python-3.10.12/bin/python3 Python 3.10.12 (main, Sep  4 2023, 10:01:29) [GCC 9.2.0] on linux Type \\\"help\\\", \\\"copyright\\\", \\\"credits\\\" or \\\"l

    2024年02月09日
    浏览(40)
  • Linux上x86_64架构的动态链接器 ld-linux-x86-64.so.2

    /lib64/ld-linux-x86-64.so.2 是Linux操作系统上x86_64架构的动态链接器(也称为动态链接编辑器)。它负责加载和链接在运行时(即程序启动时或之后)被引用的动态库。现在,我们来深入了解其作用和重要性: 动态链接器的作用 : 当运行一个可执行程序时,该程序可能依赖于多个动

    2024年02月02日
    浏览(49)
  • Linux aarch64架构中使用docker安装mysql8

    1、遇到问题: 官网下载mysql包,安装完成后,启动mysql一直显示-bash: ./mysqld: 无法执行二进制文件。 网上找了各种资料,但是都没有作用,怀疑自己操作姿势不正确,以为是自己包下错了(其实也是包不对),重新下载了不同的各种包,换了各种安装方法,发现仍旧启动不了

    2024年02月14日
    浏览(42)
  • (三)基于arm64/aarch64架构的Debian Linux中mysql5.7+详细安装过程

    (一)移动端安卓手机改造成linux服务器Linux中安装软件踩坑历险记 (二)Debian Linux系统中安装oracle JDK1.8详细过程(arm64/aarch64架构下) 在上一篇文章中,主要分享了 改造后的安卓手机Linux系统中 JDK1.8的安装与环境变量配置等内容。本文就 基于arm/aarch64指令集架构的Linux系统中 mysql5

    2024年01月21日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包