侯捷 C++ 课程学习笔记:C++ 环境设置(2025版) | 从零编译第一个C++程序
第一次配置开发环境的零基础学习者;小型项目开发(课程作业/毕业设计);从其他语言(如Python/Java)转向C++的技术人员;在数字世界的底层架构中,C++始终扮演着系统级开发的基石角色。从操作系统内核到游戏引擎,从高频交易系统到自动驾驶算法,这门诞生于1983年的编程语言持续推动着计算机技术的边界突破。对于每一位C++开发者而言,环境配置不仅是书写第一个"Hello World"的必经之路,
本文适用:第一次配置开发环境的零基础学习者;小型项目开发(课程作业/毕业设计);从其他语言(如Python/Java)转向C++的技术人员...
🔥🔥🔥
引言
在数字世界的底层架构中,C++始终扮演着系统级开发的基石角色。从操作系统内核到游戏引擎,从高频交易系统到自动驾驶算法,这门诞生于1983年的编程语言持续推动着计算机技术的边界突破。对于每一位C++开发者而言,环境配置不仅是书写第一个"Hello World"的必经之路,更是构建复杂工程的重要起点。
本文将深入解析跨平台开发环境的构建之道,针对Windows、Linux、macOS三大主流系统提供全链路配置指南。不同于简单的软件安装教程,我们将重点关注开发工具链的生态适配性——如何为Visual Studio配置高效的调试环境?为什么MinGW-w64需要选择posix线程模型?何时该使用Clang替代GCC?这些直接影响开发效率的关键抉择,都将在文中找到工程实践验证的解决方案。通过系统化的环境搭建方法论,助您快速构建起符合现代C++标准的开发工作台。
目录
2.3.3. 使用 Visual Studio (Graphical Interface) 编译
📚
1. 开发工具准备
C++开发需要两大核心工具:
- 文本编辑器 / IDE
- 编译器工具链
1.1. 推荐编辑器方案
1.1.1. 新手推荐:Visual Studio Code + C/C++扩展
- 优势:轻量级、跨平台、智能提示
- 必备插件:C/C++、Code Runner、CMake Tools...
1.1.2. 专业开发推荐:
- Visual Studio(Windows最佳)
- CLion(跨平台专业IDE)
- Qt Creator(GUI开发首选)
1.1.3. 极客之选:
- Vim/Emacs + YouCompleteMe插件
- Sublime Text + 编译配置
1.2. 编译器选择
- Windows:MinGW-w64 / MSVC
- Linux:GCC/G++
- macOS:Clang/Xcode
📚
2. 跨平台编译器安装
2.1. UNIX/Linux 上的安装
🙋♀️ 如果您使用的是 Linux 或 UNIX,请在命令行使用下面的命令来检查您的系统上是否安装了 GCC:
$ g++ -v
🙋♀️ 如果您的计算机上已经安装了 GNU 编译器,则会显示如下消息:
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-13/...
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04)
如果没有,则安装 👇
# Ubuntu/Debian
sudo apt-get install build-essential
# CentOS/Fedora
sudo yum groupinstall "Development Tools"
# 验证安装
g++ --version
2.2. macOS系统
如果您使用的是 macOS,最快捷的获取 GCC 的方法是从苹果的网站上下载 Xcode 开发环境,并按照安装说明进行安装。一旦安装上 Xcode,您就能使用 GNU 编译器。
2.2.1. 安装Xcode命令行工具
xcode-select --install
2.2.2. 或通过Homebrew安装
brew install gcc
2.3. Windows系统
2.3.1 Cygwin
Cygwin 是一个在 Windows 操作系统上模拟 Unix/Linux 环境的软件包,它允许用户在 Windows 上使用类 Unix 工具和应用程序。
Cygwin 通过提供一组 DLL(动态链接库),这些 DLL 充当 Unix 系统调用层和 Windows 内核之间的桥梁,使得 Unix 程序能够在 Windows 系统上运行。
- Cygwin 官网:Cygwin
2.3.1.1. 下载
https://cygwin.com/setup-x86_64.exehttps://cygwin.com/setup-x86_64.exe
2.3.1.2. 安装
- 我们选择的是:阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区
选择软件包:
- wget
- gcc-g++
- make
- diffutils
- libmpfr-devel
- libgmp-devel
- libmpc-devel
- 其余默认就好(⚠️⚠️⚠️缺少组件会引起告警!!!)
2.3.1.3. 完成安装
- 双击图标,进入命令行界面,输入 cygcheck -c cygwin 命令可以查看当前的 cygwin 的版本信息:
- 输入 gcc -v 命令可以查看当前的 gcc 的版本信息:
2.3.2. MinGW-w64
为了在 Windows 上安装 GCC,您需要安装 MinGW-w64。
MinGW-w64 是一个开源项目,它为 Windows 系统提供了一个完整的 GCC 工具链,支持编译生成 32 位和 64 位的 Windows 应用程序。
- MinGW-w64 的主页:mingw-w64
2.3.2.1. 下载
最新版本的 MinGW-w64 安装程序:
- MinGW-w64 的下载详情页面包含了很多 MinGW-w64 及特定工具的整合包:
- 耐心等待...
2.3.2.2. 解压
- 下载完成后,解压,在 bin 目录里面就可以找到 g++.exe 或者 gcc.exe:
- 当安装 MinGW 时,您至少要安装 gcc-core、gcc-g++、binutils 和 MinGW runtime,但是一般情况下都会安装更多其他的项。
- 😯添加您安装的 MinGW 的 bin 子目录到您的 PATH 环境变量中,这样您就可以在命令行中通过简单的名称来指定这些工具。
2.3.2.3. 完成安装
- CMD输入:gcc -v
2.3.3. 使用 Visual Studio (Graphical Interface) 编译
🔗 下载链接:
2.3.3.1. 桌面应用的安装
我们可以勾选安装:
- .NET 桌面开发
- 使用 C++ 的桌面开发
2.3.3.2. 语言包选择
2.3.3.3. 安装位置选择
🙋♀️ D盘(自定义就好,主要是怕默认的C盘会爆)
- 产品:D:\Microsoft Visual Studio\2022\Community
- 下载缓存:E:\Documents\Microsoft\VisualStudio\Packages
- 共享组件、工具和SDK:D:\Microsoft Visual Studio\Shared
2.3.3.4. 安装开始
2.3.3.5. 安装完毕
⚠️ 重新启动
2.3.4. 创建新项目
2.3.5. 选择模板 控制台应用
⚠️⚠️⚠️ 选择:C++ Windows 控制台
2.3.6. 配置新项目
🥱 自定义就好。
2.3.7. 完成创建
2.3.8. 测试
2.4. g++ 应用说明
- 程序 g++ 是将 gcc 默认语言设为 C++ 的一个特殊的版本,链接时它自动使用 C++ 标准库而不用 C 标准库。通过遵循源码的命名规范并指定对应库的名字,用 gcc 来编译链接 C++ 程序是可行的,如下例所示:
$ gcc main.cpp -lstdc++ -o main
- 下面是一个保存在文件 helloworld.cpp 中一个简单的 C++ 程序的代码:
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, world!" << endl;
return 0;
}
- 最简单的编译方式:
$ g++ helloworld.cpp
- 由于命令行中未指定可执行程序的文件名,编译器采用默认的 a.out。程序可以这样来运行:
$ ./a.out
Hello, world!
- 通常我们使用 -o 选项指定可执行程序的文件名,以下实例生成一个 helloworld 的可执行文件:
$ g++ helloworld.cpp -o helloworld
- 执行 helloworld:
$ ./helloworld
Hello, world!
- 如果是多个 C++ 代码文件,如 runoob1.cpp、runoob2.cpp,编译命令如下:
$ g++ runoob1.cpp runoob2.cpp -o runoob
- 生成一个 runoob 可执行文件。
- g++ 有些系统默认是使用 C++98,我们可以指定使用 C++11 来编译 main.cpp 文件:
g++ -g -Wall -std=c++11 main.cpp
2.4.1. g++ 常用命令选项
选项 |
解释 |
---|---|
-ansi |
只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色, 例如 asm 或 typeof 关键词。 |
-c |
只编译并生成目标文件。 |
-DMACRO |
以字符串"1"定义 MACRO 宏。 |
-DMACRO=DEFN |
以字符串"DEFN"定义 MACRO 宏。 |
-E |
只运行 C 预编译器。 |
-g |
生成调试信息。GNU 调试器可利用该信息。 |
-IDIRECTORY |
指定额外的头文件搜索路径DIRECTORY。 |
-LDIRECTORY |
指定额外的函数库搜索路径DIRECTORY。 |
-lLIBRARY |
连接时搜索指定的函数库LIBRARY。 |
-m486 |
针对 486 进行代码优化。 |
-o |
FILE 生成指定的输出文件。用在生成可执行文件时。 |
-O0 |
不进行优化处理。 |
-O |
或 -O1 优化生成代码。 |
-O2 |
进一步优化。 |
-O3 |
比 -O2 更进一步优化,包括 inline 函数。 |
-shared |
生成共享目标文件。通常用在建立共享库时。 |
-static |
禁止使用共享连接。 |
-UMACRO |
取消对 MACRO 宏的定义。 |
-w |
不生成任何警告信息。 |
-Wall |
生成所有警告信息。 |
📚
3. 常见问题解决
-
3.1. 命令未找到错误
-
解决方案:检查PATH环境变量是否包含编译器路径
-
-
3.2. 头文件缺失错误
-
Windows:检查MinGW安装是否完整
-
Linux/macOS:安装开发依赖库
-
-
3.3. 中文乱码问题
-
编译时添加参数:-fexec-charset=GBK
-
-
3.4. 多文件编译
-
使用makefile或CMake管理项目
-
📚
4. 进阶配置建议
-
4.1. 构建系统配置
-
CMake跨平台构建
-
Makefile手动管理
-
-
4.2. 调试工具配置
-
GDB调试器使用
-
VS Code调试配置
-
-
4.3. 包管理工具
-
vcpkg(微软开源库管理)
-
Conan(跨平台包管理)
-
📚
5. 学习资源推荐
- C++标准文档:isocpp.org
- 在线编译器:godbolt.org
- 调试工具:Learn GDB(交互式教程)
本指南已覆盖主流平台的开发环境配置,建议根据实际开发需求选择工具组合。Windows用户推荐Visual Studio+MSVC组合,跨平台开发建议使用VSCode+CMake+MinGW配置。
📚
🐷🐷🐷
- End -
(* ̄︶ ̄)创作不易!期待你们的 点赞+收藏+评论 喔!
本文来源网络,免费分享知识,版权归原作者所有。如涉及作品版权问题,请联系我删除!
---
如果彻底解决您的问题,请一键三连,点赞+收藏哦!💗💗💗

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)