Windows 原生 cmd 窗口下编译 C++(cl命令)出现的问题及解决方法

  本文适用对象:  Windows 操作系统下,已经成功安装了 Visual studio,并且希望在 Windows 系统原生 cmd 窗口中编译 C++ 的人。本文示例操作系统为 Windows 10 1703 64 位,示例 VS 版本为 Visual Studio 2017 Community。

  注意:在不同操作系统或不同 VS 版本,下文示例路径可能会稍有不同。


  最近在入门C++,在原生cmd窗口中编译C++时出现了一系列的问题。经过搜索后将问题解决,现将问题及解决方法总结于下。

  /*

   *太长不看版:

   *出现的问题基本都是没有对环境变量中的系统变量进行操作,将下述的路径编辑进环境变量中即可。

  */


  1. ‘cl’ 不是内部或外部命令,也不是可运行程序或批处理文件

      上述错误表示系统找不到 cl.exe 这个文件。

      此文件位于 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: 无法打开包括文件: “corecrt.h”: No such file or directory”

      上述错误表示系统找不到 iostream 或者 corecrt.h 这个文件。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: 无法打开文件“libcpmt.lib”

      上述问题表示系统找不到 .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 位却添加了另一方的路径。


  如果本文没有解决你的问题,请在评论里留下问题以供讨论,谢谢。

你可能感兴趣的:(C++,primer,cmd,环境变量,cl)