Windows CMD中需先安装MinGW-w64(用g++)或配置VS的cl.exe,添加bin路径到PATH后,用g++ hello.cpp -o hello.exe编译,再运行hello.exe。

怎么在 Windows CMD 里编译并运行一个 C++ 文件
不能直接敲 c++ 命令——Windows 默认没有这个可执行程序。你得先装好编译器(比如 MinGW-w64 或 Visual Studio 的 cl.exe),再把它的路径加进系统 PATH,否则 CMD 根本找不到编译命令。
最轻量、适合入门的选择是 MinGW-w64(推荐使用 MSYS2 自带的 mingw64 或 winlibs 独立包)。装完后,CMD 中能用的是 g++,不是 c++。
- 确认安装成功:打开新 CMD,运行
g++ --version,有输出说明可用 - 写个测试文件,比如
hello.cpp,内容为:#include
int main() { std::cout << "Hello, world!\n"; } - 编译:在文件所在目录下运行
g++ hello.cpp -o hello.exe - 运行:直接输入
hello.exe(注意必须带.exe后缀,否则 CMD 不识别)
为什么 g++ hello.cpp 生成的是 a.exe 而不是 hello.exe
g++ 默认输出名就是 a.exe(类 Unix 传统),这容易导致覆盖、混淆,尤其多个源文件时根本分不清谁是谁。不显式用 -o 指定输出名,等于主动给自己埋坑。
- 永远加上
-o:比如g++ main.cpp -o app.exe - 如果漏了
-o又忘了输出名,可以用dir /b *.exe查看当前目录下刚生成的.exe文件 - 某些旧教程说“
g++ hello.cpp就能运行”,其实是错的——它只生成a.exe,你还得手动敲a.exe才行
遇到 “'g++' 不是内部或外部命令” 怎么办
这是 PATH 没配对最典型的错误提示。不是编译器没装,而是 CMD 根本“看不见”它。
立即学习“C++免费学习笔记(深入)”;
- 先找到
g++.exe在哪:比如你装的是 winlibs,路径可能是C:\winlibs-x86_64-posix-seh-gcc-13.2.0-mingw-w64-crt-10.0.0-msvcrt-r3\mingw64\bin\g++.exe - 把整个
bin目录路径复制下来(到\bin为止,不要包含g++.exe) - Win + R → 输入
sysdm.cpl→ “高级” → “环境变量” → 在“系统变量”里双击Path→ “新建” → 粘贴路径 → 确定 -
关键一步:关掉所有已打开的 CMD 窗口,重新开一个,再试
g++ --version
Visual Studio 用户该用 cl.exe 还是 g++
如果你装了 Visual Studio(哪怕只是 Build Tools),CMD 里其实能用 cl.exe,但它不是开箱即用的——必须先运行对应版本的 vcvarsall.bat 来初始化环境变量。
- 例如 VS 2022 的脚本通常在:
C:\Program Files\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvarsall.bat - 在 CMD 中先执行:
"C:\Program Files\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" x64(注意路径要用英文引号包裹,且含空格时不能省略) - 之后才能用
cl hello.cpp编译(默认生成hello.exe,不用-o) - 但
cl.exe不支持 GNU 扩展语法(比如__attribute__)、默认不链接标准库的某些头(如需额外加/std:c++17和/link /LIBPATH:...),新手容易卡在莫名其妙的链接错误上
除非你明确要和 MSVC 工具链对齐,否则入门阶段坚持用 g++ 更省心。真正复杂项目再切构建系统(CMake + Ninja),而不是死磕 CMD 单命令。











