Ubuntu如何配置C/C++开发环境?2026最新搭建指南详解

长按可调倍速

带你配置Linux系统下vscode的C语言/C++编译环境 (Ubuntu),保姆级实操跟做,可能是全B站最清晰简单的教程

在Ubuntu上构建强大且高效的C/C++开发环境是现代软件开发的基础,作为基于Linux的操作系统,Ubuntu提供了稳定、免费且社区支持丰富的平台,是专业开发者的首选之一,下面将详细指导你完成环境搭建、工具链配置到实际开发流程。

Ubuntu如何配置C/C++开发环境?2026最新搭建指南详解

核心工具链安装与验证

  1. 更新系统与安装构建工具:

    sudo apt update && sudo apt upgrade -y
    sudo apt install build-essential -y
    • build-essential 是核心包组,包含 gcc (GNU C编译器), g++ (GNU C++编译器), make (构建自动化工具), libc-dev (标准C库头文件) 等必备组件。
  2. 验证编译器安装:

    gcc --version
    g++ --version
    make --version

    成功安装将输出各自的版本信息(如 gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0)。

  3. 安装可选但推荐的编译器:Clang/LLVM

    sudo apt install clang clang-tools clangd lldb -y
    • clang: LLVM C/C++编译器,通常提供更快的编译速度和更清晰的错误/警告信息。
    • clang-tools: 包含 clang-format (代码格式化), clang-tidy (静态代码分析) 等实用工具。
    • clangd: 强大的C/C++语言服务器协议(LSP)实现,为现代编辑器/IDE提供智能代码补全、跳转等功能。
    • lldb: LLVM调试器,功能强大且现代化,是GDB的有力替代品,验证安装:
      clang --version
      lldb --version

进阶开发工具配置

  1. 构建系统:告别Makefile(复杂项目) – CMake

    sudo apt install cmake -y
    cmake --version
    • CMake是一个跨平台的构建系统生成器,它使用声明式的 CMakeLists.txt 文件描述项目构建过程,然后生成对应平台(如Unix Makefiles, Ninja, Xcode项目等)的构建文件,是现代C/C++项目的标准构建工具。
  2. 调试利器:GDB & LLDB

    • gdb 已包含在 build-essential 中。
    • lldb 已在前一步安装。
    • 熟悉至少一个调试器的基本命令 (run, break, next, step, print, backtrace) 是调试程序的核心技能。
  3. 版本控制基石:Git

    sudo apt install git -y
    git --version

    管理代码版本、协作开发的必备工具。

  4. 包管理(可选):vcpkg/conan

    • 对于需要管理复杂第三方库依赖的项目,考虑安装包管理器:
      • vcpkg (Microsoft): 开源C++库管理器,支持大量库,安装:
        git clone https://github.com/microsoft/vcpkg
        ./vcpkg/bootstrap-vcpkg.sh
        sudo ln -s $(pwd)/vcpkg/vcpkg /usr/local/bin/vcpkg # 可选,添加全局命令
      • Conan: 分布式、多平台C/C++包管理器,安装:
        sudo apt install python3-pip -y
        pip install conan
        conan --version

高效开发环境:编辑器/IDE选择

  1. 轻量级王者:Visual Studio Code (VSCode)

    Ubuntu如何配置C/C++开发环境?2026最新搭建指南详解

    • 安装:
      sudo snap install code --classic # 或从官网下载.deb包安装
    • 核心C/C++扩展:
      • C/C++ (Microsoft):提供IntelliSense(基于clangd或MS C++引擎)、调试支持。
      • CMake Tools (Microsoft):集成CMake配置、构建、调试、测试。
      • clangd (LLVM):强烈推荐启用!替代MS C++引擎,利用已安装的clangd提供更精确、更快的语言智能功能,在VSCode设置中搜索 C_Cpp: Default,选择 Disabled 以禁用MS引擎,确保clangd扩展激活。
    • 其他实用扩展: GitLens, CodeLLDB/C/C++ Extension Pack, Doxygen Documentation Generator
    • 优势: 免费、跨平台、轻量、海量扩展生态、高度可定制。
  2. 功能完备的IDE:CLion (JetBrains)

    强大的商业IDE,专为C/C++开发设计,提供深度CMake集成、智能代码分析、重构、图形化调试器、内嵌终端、数据库工具等,提供免费试用和学生许可,可通过JetBrains Toolbox或官网下载安装。

  3. 经典选择:Qt Creator

    • 特别适合开发Qt GUI应用程序,但也提供优秀的纯C/C++开发支持(非Qt项目),免费开源,安装:
      sudo apt install qtcreator -y

实战演练:创建、构建、运行、调试一个C++项目 (使用VSCode + CMake)

  1. 创建项目结构:

    mkdir my_cpp_project && cd my_cpp_project
    mkdir src build
    touch src/main.cpp CMakeLists.txt
  2. 编辑源代码 (src/main.cpp):

    #include 
    int main() {
        std::cout << "Hello, Ubuntu C++ Development World!" << std::endl;
        int sum = 0;
        for (int i = 1; i <= 10; ++i) {
            sum += i;
        }
        std::cout << "Sum from 1 to 10 is: " << sum << std::endl;
        return 0;
    }
  3. 编辑 CMakeLists.txt (项目根目录):

    cmake_minimum_required(VERSION 3.10) # 指定最低CMake版本
    project(MyCppProject VERSION 1.0)    # 定义项目名称和版本
    set(CMAKE_CXX_STANDARD 17)           # 设置C++语言标准为C++17
    set(CMAKE_CXX_STANDARD_REQUIRED ON)  # 要求编译器必须支持该标准
    set(CMAKE_EXPORT_COMPILE_COMMANDS ON) # 生成compile_commands.json供clangd等工具使用
    add_executable(my_app src/main.cpp)  # 添加可执行目标,指定源文件
  4. 在VSCode中配置和构建:

    • 打开项目文件夹 (my_cpp_project)。
    • 安装并激活 C/C++, CMake Tools, clangd 扩展。
    • Ctrl+Shift+P 打开命令面板,输入 CMake: Configure 并执行,选择 GCCClang 作为工具包(Kits)。
    • CMake Tools会自动在 build 目录下生成构建系统文件(如Makefile)。
    • F7 或点击底部状态栏的 Build 按钮进行编译,构建成功会在 build 目录下生成可执行文件 my_app
  5. 运行程序:

    • 在VSCode的集成终端 (Ctrl+ `) 中:
      cd build
      ./my_app
    • 或使用 CMake Tools 提供的 Run 按钮/命令。
  6. 调试程序:

    • 确保 CMake Tools 已配置好调试器(通常是 GDBLLDB)。
    • main.cpp 中的 for 循环行设置断点(点击行号左侧)。
    • F5 或点击 CMake: Debug 按钮启动调试。
    • 观察变量 (Variables 窗口)、调用堆栈 (Call Stack)、使用单步执行 (F10/F11) 进行调试。

提升开发体验与代码质量

  1. 代码格式化:clang-format

    Ubuntu如何配置C/C++开发环境?2026最新搭建指南详解

    • 创建配置文件 .clang-format (项目根目录),示例(基于LLVM风格):
      BasedOnStyle: LLVM
      IndentWidth: 4
      AccessModifierOffset: -4
      ...
    • 在VSCode中,安装 clang-format 扩展,或配置 C/C++ 扩展使用 clang-format,保存文件时自动格式化 ("editor.formatOnSave": true)。
  2. 静态代码分析:clang-tidy

    • CMakeLists.txt 中启用:
      # 在add_executable之后添加
      set(CMAKE_CXX_CLANG_TIDY "clang-tidy" --checks=)
    • 构建时,clang-tidy 会自动分析代码并报告潜在问题(如未使用的变量、可能的空指针解引用、性能建议等),在VSCode问题窗口 (Problems tab) 中查看结果。
  3. 内存错误检测神器:AddressSanitizer (ASan)

    • CMakeLists.txt 中为目标启用ASan(通常在Debug配置):
      if(CMAKE_BUILD_TYPE STREQUAL "Debug")
          target_compile_options(my_app PRIVATE -fsanitize=address -fno-omit-frame-pointer)
          target_link_options(my_app PRIVATE -fsanitize=address)
      endif()
    • 在Debug模式下构建并运行程序,如果存在内存错误(如越界访问、内存泄漏、释放后使用),ASan会立即终止程序并打印详细的错误报告和堆栈跟踪,极大简化内存问题调试。
  4. 性能剖析:gprof / perf

    • gprof: 编译时加 -pg 选项 (target_compile_options(my_app PRIVATE -pg)), 运行程序生成 gmon.out,使用 gprof my_app gmon.out > analysis.txt 查看函数调用关系和耗时。
    • perf (Linux内核自带): 功能更强大,常用命令:
      perf record ./my_app    # 记录性能数据
      perf report             # 查看热点函数报告
      perf stat ./my_app      # 查看基本性能计数器统计

容器化开发环境 (可选进阶)

对于需要严格环境隔离、依赖管理或团队统一环境的场景,考虑使用 Docker

  1. 安装Docker:

    sudo apt install docker.io
    sudo systemctl enable --now docker
    sudo usermod -aG docker $USER # 将当前用户加入docker组 (需重新登录生效)
  2. 创建 Dockerfile:

    FROM ubuntu:22.04
    RUN apt update && apt upgrade -y && 
        apt install -y build-essential cmake git clang clang-tools clangd lldb
    WORKDIR /workspace
    CMD ["/bin/bash"]
  3. 构建镜像并运行容器:

    docker build -t ubuntu-cpp-dev .
    docker run -it --rm -v $(pwd):/workspace ubuntu-cpp-dev
    • 容器内即可使用安装好的全套C/C++工具链,主机当前目录挂载到容器的 /workspace,在容器内执行编译等操作。
  4. 在VSCode中使用:

    • 安装 Dev Containers 扩展。
    • F1 -> Dev Containers: Reopen in Container -> 选择 From Dockerfile
    • VSCode会自动构建镜像并重新打开项目在容器内,所有扩展(如C/C++、CMake)将在容器内运行,提供无缝的开发体验。

你更倾向于哪种开发环境组合?是追求极致轻量的VSCode+命令行,还是功能集成度更高的CLion?在团队协作中,你遇到过哪些C/C++环境配置的“坑”?有没有特别推荐的库管理或性能优化技巧?欢迎在评论区分享你的实战经验和见解!

首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/17832.html

(0)
上一篇 2026年2月8日 23:46
下一篇 2026年2月8日 23:49

相关推荐

  • 前端开发平台哪个好?国内主流前端开发平台推荐

    在当前的数字化转型浪潮中,选择并构建高效的前端开发 平台,已成为企业提升研发效能、降低维护成本、实现业务敏捷迭代的核心战略,传统的“手工作坊”式编码已无法满足日益复杂的业务需求,标准化的平台化开发模式通过模块化架构、自动化工具链与统一规范,能够将开发效率提升 50% 以上,同时大幅降低 Bug 率与长期维护成本……

    2026年4月10日
    4500
  • php和mysql web开发 pdf下载哪里有?php和mysql web开发电子书百度云资源

    PHP与MySQL的组合至今仍是构建动态网站最高效、最稳定的技术栈之一,而获取高质量的php和mysql web开发 pdf资料,是开发者快速掌握从数据库设计到后端逻辑实现的捷径,核心技术结论在于:PHP提供了灵活的服务端脚本环境,MySQL提供了可靠的数据持久化方案,两者通过PDO或MySQLi扩展无缝集成……

    2026年4月6日
    4700
  • 开发客户的范文哪里有?开发客户信函模板下载

    客户开发是企业生存的命脉,其核心本质不在于“推销”,而在于“筛选”与“匹配”,高效开发客户的终极逻辑,是建立一套可复制的标准化流程,将不确定的市场机会转化为确定的业绩增长,真正的开发客户的范文,并非简单的话术堆砌,而是基于对目标市场的深刻洞察、精准的客户画像定位、多维度的触达渠道构建以及深度的信任关系建立,企业……

    2026年3月23日
    6300
  • iOS开发音乐播放器怎么做,如何实现后台播放

    构建一个高性能、低延迟且用户体验优秀的音频应用,核心在于对AVFoundation框架的深度掌握与系统级音频会话的精细化管理,开发此类应用的核心结论是:必须基于AVPlayer构建播放引擎,利用KVO机制监控播放状态,严格配置AVAudioSession以处理后台与中断,并通过MPNowPlayingInfoC……

    2026年2月18日
    19600
  • 开发商维护包括哪些项目?开发商维护费用谁承担

    高效的开发商维护体系是保障房产价值与居住品质的生命线,其核心在于建立“预防为主、快速响应、透明公开”的全生命周期管理机制,而非单纯的被动维修,在房地产市场中,房屋交付仅是开始,后续的维护质量直接决定了社区的衰老速度与资产保值能力,一个专业的维护团队,能够通过标准化的流程,将潜在的安全隐患消除在萌芽状态,大幅降低……

    2026年3月22日
    8000
  • iphone 开发机怎么选,新手开发苹果手机推荐哪款

    iPhone 开发机是 iOS 应用开发生态中不可或缺的硬件基础,其核心价值在于提供了与普通零售机截然不同的系统权限与调试环境,对于开发者而言,拥有一台配置得当的开发机,是确保应用稳定性、兼容性以及深度调试功能实现的前提条件, 与 Android 开发相比,iOS 开发的封闭性决定了开发机不仅仅是代码运行的载体……

    2026年3月24日
    5900
  • ExtJS web应用开发指南,ExtJS开发难学吗

    ExtJS框架的核心价值在于构建企业级单页面应用(SPA),其成熟的MVC/MVVM架构与丰富的UI组件库,能显著降低复杂Web应用的开发门槛,掌握ExtJS的关键在于理解其组件模型与数据包两大核心体系,这不仅是快速构建界面的基础,更是保障应用可维护性与扩展性的前提,对于开发者而言,ExtJS提供了一套完整的解……

    2026年3月20日
    8700
  • 美图开发者模式怎么开,美图手机开发者模式在哪里打开

    美图开发者模式是解锁影像处理深层能力的核心钥匙,它通过开放底层算法接口与高级调试权限,让应用从单一的修图工具转变为具备高度可定制性的智能影像平台,开启该模式不仅能获得更精准的图像控制力,还能大幅提升开发调试效率,实现专业级影像应用的快速落地,对于追求极致画质与个性化功能的进阶用户及开发者而言,这一模式是连接标准……

    2026年3月12日
    9600
  • 创意开发方法有哪些?实用的创意开发技巧分享

    创意开发的本质并非天马行空的随机灵感,而是基于逻辑、数据与用户洞察的系统化工程,高效创意开发的核心结论在于:构建一套可复制的闭环流程,将模糊的需求转化为具象的解决方案,通过快速试错与迭代,实现商业价值最大化, 这要求从业者摒弃对“天才灵感”的过度依赖,转而建立起标准化的作业体系, 顶层策略:以用户痛点为导向的精……

    2026年4月10日
    5300
  • 游戏开发面试常见问题有哪些?游戏开发面试技巧分享

    成功通过游戏开发面试的核心在于构建“技术深度与广度并重”的知识体系,同时展现出解决实际问题的工程思维与团队协作能力,面试官考察的不仅仅是代码编写能力,更看重候选人对游戏架构的理解、性能优化的经验以及对产品用户体验的执着,候选人必须在面试中展示出从理论到实践的完整闭环,证明自己能够直接参与项目开发并解决关键技术难……

    2026年3月24日
    6800

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注