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

20.Ubuntu下安装GCC

文章目录

  • Ubuntu下安装GCC
    • 查看官方安装指导
    • 错误
      • 缺少`gmp`库
      • 缺少`32`位开发库`libc`
      • g++: error: gengtype-lex.c: No such file or directory
      • reference


欢迎访问个人网络日志🌹🌹知行空间🌹🌹


Ubuntu下安装GCC

为了支持新的c++标准,需要安装新的GCC,安装步骤如下.

查看官方安装指导

GCC版本查看,截止20240324gcc最新的版本为13.2,支持到了c++23标准。

版本发布信息可以参考:GCC Releases查看。

安装指导参考的网页为:【GCC Installation Instructions】

  • 检查安装依赖,
  • 下载源码,可使用git命令克隆
git clone git://gcc.gnu.org/git/gcc.git
# 查看所有分支
git branch -a
# 查看所有标签
git tag -l

有时候,国内访问gcc放置代码的git仓库速度会很慢,这个时候可以从开源中国的码云平台上下载,

https://gitee.com/mirrors/gcc.git

这个是国内镜像,可以加速下载速度。

  • 下载源码后,切入源码目录,执行如下命令下载依赖
./contrib/download_prerequisites
  • 配置,可在源码仓库下新建build目录,然后切换到build目录下执行如下命令进行配置。
../configure --enable-languages=c,c++ --prefix=/usr/local/gcc-13.2.0 --host=x86_64-pc-linux-gnu --prefix=/home/xx/data/sw/gcc13 --disable-multilib

更多的配置参数可以参考页面https://gcc.gnu.org/install/configure.html

  • 安装
make -j4
sudo make install
  • 验证安装
/usr/local/gcc-13.2.0/bin/gcc --version
  • 设置环境变量
export PATH=$PATH:/usr/local/gcc-13.2.0/bin
  • 卸载
sudo rm -rf /usr/local/gcc-13.2.0

错误

缺少gmp

xx@xx-rob:~/data/code/gcc$ ./configure --enable-languages=c,c++ --prefix=/usr/local/gcc-13.2.checking for the correct version of gmp.h... no
configure: error: Building GCC requires GMP 4.2+, MPFR 3.1.0+ and MPC 0.8.0+.
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
their locations.  Source code for these libraries can be found at
their respective hosting sites as well as at

解决方法,先执行命令:

xx@xx-rob:~/data/code/gcc$ ./contrib/download_prerequisites2024-03-21 22:31:18 URL:http://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.2.1.tar.bz2 [2493916/2493916] -> "gmp-6.2.1.tar.bz2" [1]
2024-03-21 22:33:48 URL:http://gcc.gnu.org/pub/gcc/infrastructure/mpfr-4.1.0.tar.bz2 [1747243/1747243] -> "mpfr-4.1.0.tar.bz2" [1]2024-03-21 22:34:29 URL:http://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.2.1.tar.gz [838731/838731] -> "mpc-1.2.1.tar.gz" [1]
2024-03-21 22:35:49 URL:http://gcc.gnu.org/pub/gcc/infrastructure/isl-0.24.tar.bz2 [2261594/2261594] -> "isl-0.24.tar.bz2" [1]
gmp-6.2.1.tar.bz2: OK
mpfr-4.1.0.tar.bz2: OK
mpc-1.2.1.tar.gz: OK
isl-0.24.tar.bz2: OK
All prerequisites downloaded successfully.

缺少32位开发库libc

/usr/bin/ld: cannot find -lgcc
collect2: error: ld returned 1 exit status
configure: error: I suspect your system does not have 32-bit development libraries (libc and headers). If you have them, rerun configure with --enable-multilib. If you do not have them, and want to build a 64-bit-only compiler, rerun configure with --disable-multilib.

解决办法:

  • 安装32libc库文件
  • ./configure时使用参数--disable-multilib禁用编译32位平台上可以使用的库

g++: error: gengtype-lex.c: No such file or directory

编译过程中报错:

> and I found the Makefile in my objdir directory. I try `make -j4` and found
> g++: error: gengtype-lex.c: No such file or directory
> g++: fatal error: no input files
> Could you help me with this?

解决办法:

缺少flex库文件,手动安装:

sudo apt-get install flex

reference

1.https://www.spinics.net/lists/gcchelp/msg50998.html


欢迎访问个人网络日志🌹🌹知行空间🌹🌹


相关文章:

20.Ubuntu下安装GCC

文章目录 Ubuntu下安装GCC查看官方安装指导错误缺少gmp库缺少32位开发库libcg: error: gengtype-lex.c: No such file or directoryreference 欢迎访问个人网络日志🌹🌹知行空间🌹🌹 Ubuntu下安装GCC 为了支持新的c标准&#xff…...

2.windows ubuntu子系统配置

打开UBuntu后, > wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh #下载conda软件。 > bash Miniconda3-latest-Linux-x86_64.sh #下载完conda后执行这步 > source ~/.bashrc > conda-h #出现一下…...

vscode的一些技巧

技巧1:调试时传参数 在launch.json的configuration中"pwd"或者"program"选项之后添加如下选项: “--args”:["参数1", "参数2", ..., "参数3] 参数之间使用逗号隔开 技巧2:断点 普通断点使…...

JavaEE企业级分布式高级架构师课程

教程介绍 本课程主要面向1-5年及以上工作经验的Java工程师,大纲由IT界知名大牛 — 廖雪峰老师亲自打造,由来自一线大型互联网公司架构师、技术总监授课,内容涵盖深入spring5设计模式/高级web MVC开发/高级数据库设计与开发/高级响应式web开发…...

c语言函数大全(K开头)

c语言函数大全(K开头) There is no nutrition in the blog content. After reading it, you will not only suffer from malnutrition, but also impotence. The blog content is all parallel goods. Those who are worried about being cheated should leave quickly. 函数名…...

高效备考2025年AMC8竞赛:吃透2000-2024年600道真题(免费送题)

我们继续来随机看五道AMC8的真题和解析,根据实践经验,对于想了解或者加AMC8美国数学竞赛的考生来说,吃透AMC8历年真题是备考更加科学、有效的方法之一。 最近有家长朋友问我,现在有哪些类似于奥数的比赛可以参加?我的…...

HTML5和CSS3新特性

Html新增属性 1.新增语义化标签 <header>&#xff1a;头部标签 <nav>&#xff1a;导航标签 <article>&#xff1a;内容标签 <section>&#xff1a;定义文档某个区域 <aside>&#xff1a;侧边栏标签 <footer>&#xff1a;尾部标签 2.…...

Java基础-正则表达式

文章目录 1.基本介绍2.正则底层实现1.matcher.find()完成的任务2.matcher.group(0)分析1.源代码2.解释&#xff08;不分组&#xff09;3.解释&#xff08;分组&#xff09; 3.总结 3.正则表达式语法1.基本介绍2.元字符的转义符号1.基本介绍2.代码实例 3.字符匹配符1.基本介绍2.…...

构建Pytorch虚拟环境教程

构建PyTorch虚拟环境通常涉及使用诸如Anaconda或venv等工具来管理Python环境&#xff0c;以便在一个独立的空间中安装PyTorch和其他依赖项。以下是使用Anaconda创建PyTorch虚拟环境的步骤&#xff08;适用于不同操作系统&#xff0c;包括Windows、Linux和MacOS&#xff09;&…...

uniapp页面嵌套其他页面的实现

功能: 类似于一个drawer&#xff0c;当主页面加载的时候会一并加载url对应的组件&#xff0c;当点击后以drawer形式显示组件里面的内容&#xff0c;可动画。 <navigator url"/pages/my/components/personalMessage" slot"right"><view><di…...

XUbuntu22.04之安装Plantuml(二百二十三)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…...

第四周刷题小结

第一天 P1068 [NOIP2009 普及组] 分数线划定 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路&#xff1a; 这个题感觉不难&#xff0c;主要是用到了结构体cmp的自定义排序&#xff0c;但是还是错了一次&#xff0c;就是没注意到题目给的条件。 #include<iostream&g…...

基于Java中的SSM框架实现考研指导平台系统项目【项目源码+论文说明】

基于Java中的SSM框架实现考研指导平台系统演示 摘要 应对考研的学生&#xff0c;为了更好的使校园考研有一个更好的环境好好的学习&#xff0c;建议一个好的校园网站&#xff0c;是非常有必要的。提供学生的学习提供一个交流的空间。帮助同学们在学习高数、学习设计、学习统计…...

项目2-用户登录

1.创建项目 2.引入前端代码并检查是否有误 3.定义接口 需求分析 对于后端开发⼈员⽽⾔, 不涉及前端⻚⾯的展⽰, 只需要提供两个功能 1. 登录⻚⾯: 通过账号和密码, 校验输⼊的账号密码是否正确, 并告知前端 2. ⾸⻚: 告知前端当前登录⽤⼾. 如果当前已有⽤⼾登录, 返回登录的账…...

网易web安全工程师进阶版课程

课程介绍 《Web安全工程师&#xff08;进阶&#xff09;》是由“ i春秋学院联合网易安全部”出品&#xff0c;资深讲师团队通过精炼的教学内容、丰富的实际场景及综合项目实战&#xff0c;帮助学员纵向提升技能&#xff0c;横向拓宽视野&#xff0c;牢靠掌握Web安全工程师核心…...

【Postman】工具使用介绍

一、postman工具介绍 1.什么是postman postman是谷歌开发的一款网页调试和接口测试工具&#xff0c;能够发送任何请求类型的http请求&#xff0c;支持GET/POST/PUT/DELETE等方法。postman简单易用&#xff0c;可以直接填写URL&#xff0c;header&#xff0c;body就可以发送一…...

【vue核心技术实战精讲】1.3 - 1.6 VUE 指令 (上)

前言 上节,我们学习了 Vue的起步 和 插值表达式 本节内容 Vue指令之v-text 和 v-htmlVue指令之v-if 和 v-showVue指令之v-bind绑定Vue指令之v-on事件处理 1、v-text 和 v-html {{}} 和v-text的作用是一样的 都是插入值,直接渲染 ≈ innerTextv-html既能插入值 又能插入标签…...

vscode使用Runner插件将.exe文件统一放到一个目录下

找到右下角管理&#xff0c;点击扩展。 找到Code Runner插件&#xff0c;打开扩展设置。 向下翻&#xff0c;找到Executor Map&#xff0c;点击在settings.json中编辑。 在c和c的配置命令栏中增加\\\output\\即可。&#xff08;增加的目录不能自动创建&#xff0c;需要手动创建…...

[commonjs--resolver] Missing “./jsx-runtime.js“ specifier in “react“ package

修复vite构建时错误 vite打包,第三方包引用的react版本不一致问题修复(不是最优解) // vite.config.js import { defineConfig } from vite; import react from vitejs/plugin-react; import path from path;export default defineConfig({plugins: [react(), // 如果使用Rea…...

ETH Gas 之 Base Fee Priority Fee

前情回顾 ETH网络 之 Gas EIP-1559 EIP-1559 EIP-1559是以太坊改进提案&#xff08;Ethereum Improvement Proposal&#xff09;&#xff0c;旨在改进以太坊的交易费用机制。该提案引入了一种新的交易费用模型&#xff0c;以提高交易费用的可预测性和网络的效率。我们本文各…...

Nano-Banana多场景落地:汽车内饰配件爆炸图AI辅助设计案例

Nano-Banana多场景落地&#xff1a;汽车内饰配件爆炸图AI辅助设计案例 1. 引言&#xff1a;当汽车设计遇上AI拆解美学 想象一下&#xff0c;你是一位汽车内饰设计师。面对一个复杂的中央扶手总成&#xff0c;里面有几十个塑料件、卡扣、线束和电子模块。你需要向客户、工程师…...

H5游戏整合平台源码:70款游戏一键搭建,支持流量主变现的完整解决方案

一、平台概述与核心优势这套H5游戏整合平台源码是一套全面、实用且零门槛的一站式解决方案。它专为站长、开发者、创业团队及游戏爱好者打造&#xff0c;无需分散搜罗各类零散源码&#xff0c;一次获取即可拥有70余款经典H5网页小游戏。所有源码均基于原生H5技术开发&#xff0…...

智慧校园系统采购,如何平衡功能、价格与服务?

✅作者简介&#xff1a;合肥自友科技 &#x1f4cc;核心产品&#xff1a;智慧校园平台(包括教工管理、学工管理、教务管理、考务管理、后勤管理、德育管理、资产管理、公寓管理、实习管理、就业管理、离校管理、科研平台、档案管理、学生平台等26个子平台) 。公司所有人员均有多…...

Go 网络编程超时控制方案

Go网络编程中的超时控制方案 在分布式系统和微服务架构盛行的今天&#xff0c;网络通信的稳定性成为关键。Go语言凭借其高效的并发模型和简洁的语法&#xff0c;成为网络编程的热门选择。网络环境复杂多变&#xff0c;超时控制是确保系统健壮性的重要手段。本文将介绍Go网络编…...

Jupyter notebook学习容易忘的点

数字数字计算符合常识选择run selected cell就能运行单个块字符串字符串也能计算转义字符\n 表示换行\t 表示tab\\ 表示\ 斜杠本身...

TPA2016D2音频放大器Arduino驱动与AGC工程实践

1. 项目概述Adafruit TPA2016 Library 是一款专为 Texas Instruments TPA2016D2 音频功率放大器设计的 Arduino 兼容驱动库。该库封装了 IC 协议通信、寄存器配置、自动增益控制&#xff08;AGC&#xff09;参数调节及硬件复位管理等底层操作&#xff0c;使嵌入式开发者无需直接…...

002、零基础搭建你的第一个AI开发环境

昨天帮隔壁组实习生看代码&#xff0c;小伙子对着屏幕发愁&#xff1a;“环境都跑不起来&#xff0c;一训练就报cuda版本不匹配。”我凑过去一看&#xff0c;好家伙&#xff0c;系统里装了三个Python版本&#xff0c;conda环境混着pip装&#xff0c;torch版本和cuda差了两位小数…...

特征精炼残差改进YOLOv26多层卷积与恒等映射协同优化突破

特征精炼残差改进YOLOv26多层卷积与恒等映射协同优化突破 引言 在目标检测领域&#xff0c;特征表示的质量直接决定了模型的检测性能。传统的卷积神经网络在特征提取过程中往往面临着特征退化、信息丢失等问题。为了解决这些挑战&#xff0c;本文提出了一种基于特征精炼残差模…...

OpenClaw文件自动化实战:Phi-3-mini-128k-instruct实现智能归档

OpenClaw文件自动化实战&#xff1a;Phi-3-mini-128k-instruct实现智能归档 1. 为什么需要智能文件归档 我的桌面和下载文件夹常年处于"灾难现场"状态——各种PDF、Word文档、截图混杂在一起&#xff0c;文件名要么是随机生成的乱码&#xff0c;要么是随手输入的&q…...

**发散创新:基于Rust的机密计算实践——安全数据处理的新范式**在现代云计算与

发散创新&#xff1a;基于Rust的机密计算实践——安全数据处理的新范式 在现代云计算与边缘计算深度融合的时代&#xff0c;数据隐私保护已成为系统架构设计的核心挑战之一。传统加密方式&#xff08;如TLS/SSL&#xff09;虽能保障传输过程中的安全性&#xff0c;但一旦数据落…...