本文适用对象: Windows 操作系统下,已经成功安装了 Visual studio,并且希望在 Windows 系统原生 cmd 窗口中编译 C++ 的人。本文示例操作系统为 Windows 10 1703 64 位,示例 VS 版本为 Visual Studio 2017 Community。
注意:在不同操作系统或不同 VS 版本,下文示例路径可能会稍有不同。
最近在入门C++,在原生cmd窗口中编译C++时出现了一系列的问题。经过搜索后将问题解决,现将问题及解决方法总结于下。
/*
*太长不看版:
*出现的问题基本都是没有对环境变量中的系统变量进行操作,将下述的路径编辑进环境变量中即可。
*/
1. ‘cl’ 不是内部或外部命令,也不是可运行程序或批处理文件
上述错误表示系统找不到 这个文件。
此文件位于 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\bin\HostX64\x64 中(再次提醒,不同操作系统或不同 VS 版本,所示路径可能会有所不同)。
解决方法为,右键此电脑,选择“属性”,“高级系统设置”,“环境变量”。在下方的“系统变量”中找到变量 path,选择“编辑”,“新建”。将上述路径添加进此变量即可。
2. “fatal error C1034: iostream: 不包括路径集”或“fatal error C1083: 无法打开包括文件: “”: No such file or directory”
上述错误表示系统找不到 iostream 或者 这个文件。C++ 的头文件们分别保存在下述目录中。
解决方法为,右键此电脑,选择“属性”,“高级系统设置”,“环境变量”。在下方的“系统变量”中选择变量 INCLUDE,若没有此变量,则选择“新建”,变量名为“INCLUDE”,变量值列在下方:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\include
C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\shared
C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\ucrt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\um
C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\winrt
注意:路径之间用英文分号隔开。
3. fatal error LNK1104: 无法打开文件“”
上述问题表示系统找不到 .lib 文件。这些文件的路径列在下方。
解决方法为,右键此电脑,选择“属性”,“高级系统设置”,“环境变量”。在下方的“系统变量”中选择变量 LIB,若没有此变量,则选择“新建”,变量名为“LIB”,变量值列在下方:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\lib\x64
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.15063.0\ucrt\x64
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.15063.0\um\x64
注意:路径之间用英文分号隔开。
如果上述三个步骤全部完成,还是出现问题,可能的情况及解决办法有:
1. 检查上述所有路径全部保存在了正确的变量名底下;
2. 重启 cmd 窗口并重新尝试;
3. 系统为 32/64 位却添加了另一方的路径。
如果本文没有解决你的问题,请在评论里留下问题以供讨论,谢谢。