当前位置: 首页 > ds >正文

交叉编译工具链冲突

记录遇到的问题,作为备忘。

1.在Ubuntu20.04上通过apt命令安装了 aarch64 交叉编译工具链

sudo apt update

sudo apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu

2.通过下载ARM官方链接的方式下载了交叉编译工具链

Downloads | GNU-A Downloads – Arm Developer

并且修改 $PATH 环境变量把下载的交叉编译工具链加到了 $PATH 路径里面。

3.问题分析

root@xxx:/tmp# ./test
./test: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by ./test)
./test: /lib/libc.so.6: version `GLIBC_2.34' not found (required by ./test)
root@xxx:/tmp# 
root@xxx:/tmp#

apt命令安装的的'' 交叉编译工具安装到了 '/usr/bin' 目录,下载的交叉编译工具通过 $PATH 环境变量也加到了 Bash Shell 的执行搜索路径里面。

但是在编译目标开发板的时候我需要的是‘下载交叉编译工具路径’里的版本,但Bash Shell优先搜索到了 '/usr/bin'目录下 'apt'命令安装的版本。所以编译出来的可执行文件依赖的环境总是不符合预期。

解决方法:

卸载掉通过 'sudo apt install '安装的 aarch64 交叉编译工具链,只保留下载的交叉编译工具链,防止两者冲突。

这样编译的时Bash Shell就总是通过 $PATH 环境变量找到下载的指定路径指定版本的交叉编译工具。

总结:

不要 'sudo apt install ' 安装的交叉编译工具链和 $PATH 引用的交叉编译工具链同时存在。

http://www.xdnf.cn/news/9361.html

相关文章:

  • nRF Connect SDK开发之(2)编译一个例程
  • 分布式系统
  • ORB-SLAM2学习笔记:ORBextractor的构造函数详解
  • HOW - 从0到1搭建自己的博客站点(四)
  • 10.2sql
  • python-正则表达式
  • 与 PyCharm 官方沟通解决开发环境问题记录(进展:官方已推出2个新的修复版本)
  • C语言-文件
  • IEEE Journal on Selected Areas in Communications 2025年论文整理2(中英文摘要)
  • IPv4地址的主要配置项介绍
  • 14. LayUI与Bootstrap框架使用
  • JS手写代码篇---手写promise.all
  • Python条件语句完全指南:从if-else到模式匹配
  • 鸿蒙OSUniApp 实现带搜索功能的下拉菜单#三方框架 #Uniapp
  • 实验设计与分析(第6版,Montgomery)第3章单因子实验:方差分析3.11思考题3.1 R语言解题
  • PIO 也有并发喔,巧用SIDE-SET
  • 解决Qt 打包的软件缺少dll问题
  • 《计算机组成原理》第 4 章 - 存储器​
  • 零基础设计模式——结构型模式 - 装饰器模式
  • 国芯思辰| 同步降压转换器CN2020应用于智能电视,替换LMR33620
  • 在ubuntu手动分区时,730GB的总空间,建议划分多少给根目录
  • AI应用 Markdown 渲染对比与原生实现方案
  • 书籍品读:《逆水行舟话幸福》(陈州)
  • 【Python】2. 基础语法(2)
  • 【运维_日常报错解决方案_docker系列】一、docker系统不起来
  • 从自动化到智能化:制造业数字化转型的五个关键跃迁
  • Vue-03 (调试工具Vue Devtools )
  • delphi xe 12.3下解决错误 ld.exe: unrecognized option ‘--no-rosegment‘
  • 试验台铁地板:技术创新与品质保障
  • 【观成科技】Ymir勒索软件组织窃密木马RustyStealer加密通信分析