在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;
    }
相关推荐
全球通史2 小时前
RDKS100 GPU量化环境配置
ubuntu
云泽8082 小时前
C++11 核心特性全解:列表初始化、右值引用与移动语义实战
开发语言·c++
嵌入式×边缘AI:打怪升级日志2 小时前
100ASK-T113 Pro 开发板 Bootloader 完全开发指南
linux·ubuntu·bootloader
AI进化营-智能译站3 小时前
ROS2 C++开发系列12-用多态与虚函数构建可扩展的ROS2机器人行为模块
开发语言·c++·ai·机器人
Morwit3 小时前
QML组件之间的通信方案(暴露子组件)
c++·qt·职场和发展
qeen873 小时前
【数据结构】建堆的时间复杂度讨论与TOP-K问题
c语言·数据结构·c++·学习·
图码3 小时前
如何用多种方法判断字符串是否为回文?
开发语言·数据结构·c++·算法·阿里云·线性回归·数字雕刻
charlie1145141913 小时前
Linux 字符设备驱动:cdev、设备号与设备模型
linux·开发语言·驱动开发·c
handler013 小时前
Linux 内核剖析:进程优先级、上下文切换与 O(1) 调度算法
linux·运维·c语言·开发语言·c++·笔记·算法
zhouwy1134 小时前
Linux进程与线程编程详解
linux·c++