在Ubuntu 22.04上安装C++编译工具

[1 在Ubuntu 22.04上安装C++编译工具](#1 在Ubuntu 22.04上安装C++编译工具)
[2 在ubuntu中运行c++代码](#2 在ubuntu中运行c++代码)

1 在Ubuntu 22.04上安装C++编译工具

核心是安装build-essential包(包含gcc、g++、make等基础编译工具),步骤如下:

安装步骤

  1. 更新软件源列表

    先同步最新的软件包信息:

    bash 复制代码
    sudo apt update
  2. 安装C++编译工具包

    执行以下命令安装build-essential(包含g++编译器):

    bash 复制代码
    sudo apt install -y build-essential
  3. 验证安装

    检查g++版本,确认安装成功:

    bash 复制代码
    g++ --version

    输出类似g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0即表示安装完成。

补充说明

  • build-essential是Ubuntu下的"基础编译工具集",除了g++,还包含C编译器(gcc)、Make工具等,满足绝大多数C/C++项目的编译需求。
  • 若需要更新版本的编译器,可通过第三方源(如ppa:ubuntu-toolchain-r/test)安装,但默认版本已能覆盖常规开发场景。

2 在ubuntu中运行c++代码

以下是一个极简且易验证的C++测试代码,能快速验证编译工具是否安装成功,步骤包含编写代码→编译→执行全流程:

第一步:编写C++测试代码

创建一个名为 test.cpp 的文件(可通过vim/nano/文本编辑器编写):

cpp 复制代码
// test.cpp - 验证C++编译环境的测试代码
#include <iostream>  // 引入输入输出头文件
using namespace std;

int main() {
    // 输出系统信息+验证语句
    cout << "=====================================" << endl;
    cout << "C++编译环境验证成功!" << endl;
    cout << "当前g++版本:" << __GNUC__ << "." << __GNUC_MINOR__ << "." << __GNUC_PATCHLEVEL__ << endl;
    cout << "系统架构:" << __x86_64__ ? "x86_64 (64位)" : "32位" << endl;
    cout << "=====================================" << endl;
    return 0;
}

第二步:编译代码

在终端执行编译命令(将test.cpp编译为可执行文件test):

bash 复制代码
g++ test.cpp -o test
  • 若编译无报错,说明g++编译器正常工作;
  • 若报错(如command not found),则需重新检查build-essential安装。

第三步:执行可执行文件

运行编译后的程序:

bash 复制代码
./test

预期输出(验证成功)

复制代码
=====================================
C++编译环境验证成功!
当前g++版本:11.4.0
系统架构:x86_64 (64位)
=====================================

补充说明

  1. 若输出上述内容,证明:

    • g++编译器已正确安装;
    • C++标准库(iostream)可正常引用;
    • 编译→链接→执行全流程无问题。
  2. 若编译时报undefined reference to '__x86_64__'(极少数情况),可简化代码为:

    cpp 复制代码
    #include <iostream>
    using namespace std;
    int main() {
        cout << "C++编译环境验证成功!" << endl;
        return 0;
    }
相关推荐
M78佐菲3 小时前
ARM学习笔记(1)
linux·arm开发·笔记·嵌入式硬件·学习
益达丫4 小时前
Socket编程揭秘:端口、IP与进程通信的底层逻辑
linux·笔记
chicheese7 小时前
Linux 面试速查表:从初级到高级,附高频场景答题模板
linux·运维
Linux-lucky7 小时前
32-38-Linux学习之旅之MySQL综合
linux·运维·学习·mysql·ubuntu
vortex58 小时前
常用终端模拟器全面对比:Kitty、WezTerm、Ghostty 与 Konsole
linux
知识分享小能手8 小时前
C++ 学习教程,从入门到精通,C++ 入门知识 — 完整知识点(1)
开发语言·c++·学习
qq_199886879 小时前
第8板块·第2节:统一内存的高级特性与性能调优
c++·人工智能·gpu算力·cuda
INGNIGHT9 小时前
270 · 电话号码的字母组合II(Trie)
linux·算法
zly35009 小时前
VMware Converter Standalone 物理机转化为虚拟机后源1硬盘变成了2个硬盘(2个硬盘文件)虚拟机无法启动。
linux·运维·服务器
2401_8390805410 小时前
C++常见八股
数据结构·c++·算法