如何在Ubuntu中配置C++开发工具链
在 Ubuntu 中配置 C++ 开发工具链

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
想在 Ubuntu 上高效地写 C++ 代码?一套趁手的工具链是必不可少的。别担心,这个过程其实很清晰,跟着下面的步骤走,从基础安装到 IDE 配置,都能一气呵成。
一 安装基础工具链
万事开头先打基础。第一步,就是把编译、构建和调试这些核心工具请到你的系统里来。
- 更新软件源并安装编译器和构建工具:
- 打开终端,执行这条命令就能搞定大部分基础安装:
sudo apt update && sudo apt install build-essential cmake gdb make。 - 简单解释一下:
build-essential这个包是核心,它包含了 gcc、g++ 和 make 等编译构建的基石;cmake是现代跨平台项目的构建系统首选;而gdb则是调试代码、排查问题的得力助手。
- 打开终端,执行这条命令就能搞定大部分基础安装:
- 验证安装结果:
- 装完了总得验验货。分别运行
gcc --version、g++ --version、cmake --version和gdb --version。 - 如果终端乖乖地输出了各自的版本号,恭喜你,基础工具链已经准备就绪了。
- 装完了总得验验货。分别运行
二 多版本 GCC 切换与选择
不同的项目可能需要不同版本的编译器。Ubuntu 的包管理器让安装和切换变得非常灵活。
- 安装指定版本(示例为 g++-12):
- 假设你需要 g++-12,直接安装即可:
sudo apt install g++-12。其他版本如 g++-11、g++-13 同理。
- 假设你需要 g++-12,直接安装即可:
- 配置默认版本(交互式选择或按优先级设置):
- 系统里有了多个版本,谁来当“老大”?有两种方式:
- 交互式选择:运行
sudo update-alternatives --config g++,会列出所有已安装版本,输入序号即可切换。 - 直接指定:通过优先级来设定,例如将 g++-12 设为默认:
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100 --force。这里的数字 100 是优先级,越高越优先。
- 交互式选择:运行
- 系统里有了多个版本,谁来当“老大”?有两种方式:
- 验证当前默认版本:
- 别忘了用
g++ --version确认一下,看看现在默认调用的是不是你想要的版本。
- 别忘了用
- 提示: 如果需要切换 gcc 的默认版本,对
gcc命令执行同样的update-alternatives操作即可。
三 使用 CMake 构建项目
现在工具齐了,我们来实战一下,用 CMake 构建一个最简单的项目,感受现代构建流程的魅力。
- 示例项目结构:
- 先创建项目目录和源码文件:
mkdir -p hello && cd hello && nano main.cpp。 - 在
main.cpp里写个经典的入门程序:#includeint main() { std::cout << "Hello, CMake!\n"; return 0; }
- 先创建项目目录和源码文件:
- 创建 CMakeLists.txt:
这是 CMake 的“项目说明书”,在同一个目录下创建它:
cmake_minimum_required(VERSION 3.20) project(Hello CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) add_executable(hello main.cpp) - 构建与运行(推荐“源外构建”):
- 是时候生成可执行文件了。推荐使用源外构建,保持源码目录的整洁:
cmake -S . -B build && cmake --build build && ./build/hello。 - 这里
-S .指定源码目录(当前目录),-B build指定构建输出到build子目录。如果一切顺利,终端会打印出 “Hello, CMake!”。
- 是时候生成可执行文件了。推荐使用源外构建,保持源码目录的整洁:
四 配置 VSCode 进行 C++ 开发与调试
命令行固然强大,但一个集成的开发环境能极大提升效率。Visual Studio Code 配上合适的插件,就是绝佳选择。
- 安装与扩展:
- 首先安装 VS Code,可以通过官网下载 .deb 包,或者直接从 Ubuntu 软件中心搜索安装。
- 打开 VSCode,进入扩展市场,搜索并安装微软官方提供的 “C/C++” 扩展,这是智能提示、跳转和调试的基础。
- 生成调试配置(launch.json)与构建任务(tasks.json):
- 点击侧边栏的“运行与调试”图标,创建一个
launch.json文件,选择 “C++ (GDB/LLDB)” 环境。这会生成一个基础的调试配置。 - 为了让调试能找到我们编译好的程序,通常需要调整
program路径。下面是一个参考配置,关键是把program指向你 CMake 构建出的可执行文件(例如在build目录下):{ "version": "0.2.0", "configurations": [{ "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/build/hello", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "gdb", "setupCommands": [{ "text": "-enable-pretty-printing", "ignoreFailures": true }] }] } - 构建任务可以通过终端手动运行之前的 CMake 命令,也可以配置
tasks.json来一键完成。
- 点击侧边栏的“运行与调试”图标,创建一个
- 使用要点: 确保系统已安装的编译器、调试器与 VSCode 的配置匹配。如果遇到头文件找不到等问题,可以在 VSCode 设置中指定编译器路径,例如设置
C_Cpp.default.compilerPath为/usr/bin/g++。
五 常见问题与进阶
配置路上可能会遇到一些小波折,这里有几个常见问题的解决思路和进阶技巧。
- 安装或切换失败:
- 依赖问题:试试
sudo apt --fix-broken install来修复破损的依赖包。 - 权限问题:安装或切换系统级工具链需要权限,记得在命令前加上
sudo。
- 依赖问题:试试
- 升级 CMake:
- APT 安装:直接
sudo apt install cmake可能版本较旧。 - Kitware PPA(获取更新版本):这是获取新版 CMake 的常用方法。以 Ubuntu 22.04 (Jammy) 为例:
- 添加密钥:
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc | sudo apt-key add - - 添加仓库:
sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ jammy main' - 更新并安装:
sudo apt-get update && sudo apt-get install cmake
- 添加密钥:
- 预编译二进制:直接从 CMake 官网下载 Linux x86_64 的 tar.gz 包,解压后将其
bin目录加入PATH环境变量,或者创建软链接到/usr/local/bin,这是最直接的控制版本的方式。
- APT 安装:直接
- 性能与诊断(可选):
- 并行编译:充分利用多核 CPU 加速编译,使用
make -j$(nproc)或cmake --build build -j$(nproc)。 - 性能分析:当需要优化代码时,Linux 自带的
perf工具,或者功能强大的Valgrind、Callgrind,可以帮助你分析程序热点和内存使用情况。
- 并行编译:充分利用多核 CPU 加速编译,使用
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
Ubuntu上C++编译器怎么选
Ubuntu 上 C++ 编译器的选择建议 在 Ubuntu 环境下进行 C++ 开发,第一步往往不是写代码,而是选择一个趁手的编译器。面对 GCC、Clang 乃至各种厂商工具链,新手难免会感到困惑。别担心,这份指南的目的,就是帮你拨开迷雾,找到最适合你当前项目的那一个。 快速选择 时间紧迫?直接
如何使用copendir获取文件属性
opendir函数详解:高效打开目录流,精准遍历文件与子目录 在C语言编程中,文件系统操作是核心技能之一,而opendir函数正是实现目录遍历的关键工具。它能够打开指定的目录流,为程序员后续读取、筛选和处理目录内的文件与子目录奠定基础。本文将系统性地解析opendir的典型应用流程,帮助您掌握这一重
copendir与其他目录遍历函数的比较
目录遍历函数:copendir 与其他方法的深度对比 在系统编程与文件操作中,高效、准确地遍历目录是一项核心技能。本文将聚焦于POSIX标准中的copendir函数,并与其他主流目录遍历方法进行全方位对比,帮助开发者根据实际场景做出最佳选择。 copendir函数的核心功能是打开一个目录流,并返回一
copendir函数的使用场景有哪些
cop_dir函数:POSIX环境下的目录复制利器 在遵循POSIX标准的系统编程中,cop_dir函数是一个高效复制目录及其全部内容的实用工具。它的核心优势在于能够完整地复制整个目录树结构,包括所有嵌套的子目录和文件,确保数据结构的精确再现。那么,这个函数具体能在哪些开发场景中发挥关键作用呢? 1
如何处理copendir遇到的权限问题
解决 opendir 函数目录权限错误:排查方法与修复指南 在 C 语言或 PHP 开发中,调用 opendir 函数读取目录内容时,权限不足是导致操作失败的常见原因。这通常源于操作系统层面的访问控制机制,而非函数缺陷。掌握系统性的诊断与解决方案,能高效应对此类问题。本文将详细介绍六种实用的处理策略
- 日榜
- 周榜
- 月榜
1
2
3
4
5
6
7
8
9
10
1
2
3
4
5
6
7
8
9
10
相关攻略
2015-03-10 11:25
2015-03-10 11:05
2021-08-04 13:30
2015-03-10 11:22
2015-03-10 12:39
2022-05-16 18:57
2025-05-23 13:43
2025-05-23 14:01
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

