在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;
    }
相关推荐
郝学胜_神的一滴1 小时前
CMake 30:循环语法全解|foreach_while双循环精讲、迭代技巧与实战避坑指南
c++·cmake
戴为沐2 小时前
Linux内存扩容指南
linux
zylyehuo12 小时前
Linux 彻底且安全地删除文件
linux
用户805533698031 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297911 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
卷无止境2 天前
C++ 的Eigen 库全解析
c++
卷无止境2 天前
现代 C++特性大盘点:一门脱胎换骨的老语言
c++·后端
郝学胜_神的一滴2 天前
CMake 27:缓存变量的特性、语法、类型与实操全解
c++·cmake
Web3探索者3 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo3 天前
Linux系统中网线与USB网络共享冲突
linux