在 Windows 上使用 cl.exe 手动编译源代码时应包含哪些目录?

What directories should be included to MANUALLY compile source with cl.exe on Windows?

如何设置 -I cl.exe 参数以使我的原始 .cpp 文件能够编译?我不希望通过调用 Developer Command Prompt 或 vsvars32.bat 文件或任何其他将为我设置所有环境变量的 .bat 文件来完成此操作。

我需要知道在我的 -I 选项中指向什么路径。

我的 .cpp 文件不包含特殊内容。它仅取决于通常的 STL/system 文件。这是包含的内容。

#include <stdio.h> 
#include <limits.h>
#include <vector>
#include <stdlib.h>
#include <algorithm>
#include <memory.h>
#include <string.h>
#include <math.h>
#include <string>
#include <algorithm>
#include <functional>
#include <cassert>

长话短说,这是我对 cmd.exe 的命令。请注意,我没有 运行 任何 .bat 文件来设置任何变量。

cl.exe -I "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" 
-I "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE" 
-I "C:\Program Files (x86)\Windows Kits\include.0.10150.0\ucrt" 
-I "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB" 
-I "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\LIB" 
-I "C:\Program Files (x86)\Windows Kits\lib.0.10150.0\ucrt\x86" 
-I "C:\Program Files (x86)\Windows Kits\NETFXSDK.6\lib\um\x86" 
-I "C:\Program Files (x86)\Windows Kits.1\lib\winv6.3\um\x86" 
A.cpp /EHsc
/link /LIBPATH:"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib"   
/LIBPATH:"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\lib" 
/LIBPATH:"C:\Program Files (x86)\Windows Kits\lib.0.10150.0\ucrt\x86" 
/LIBPATH:"C:\Program Files (x86)\Windows Kits.1\lib\winv6.3\um\x86"

我按照 Hans Passant 的建议查看 Visual Studio VC++ 目录。项目 > 属性 > VC++ 目录 > 包含目录设置。或者可以 运行 vcvars32.bat 然后回显 %INCLUDE% 和 %LIB% 环境变量。

包含 cl.exe 的目录:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\include
C:\Program Files (x86)\Windows Kits\Include.0.10150.0\ucrt
C:\Program Files (x86)\Windows Kits.1\Include\um
C:\Program Files (x86)\Windows Kits.1\Include\shared
C:\Program Files (x86)\Windows Kits.1\Include\winrt

链接器的库目录:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\lib
C:\Program Files (x86)\Windows Kits\lib.0.10150.0\ucrt\x86
C:\Program Files (x86)\Windows Kits.1\lib\winv6.3\um\x86
C:\Program Files (x86)\Windows Kits\NETFXSDK.6\Lib\um\x86

如您所见,我使用的是 Visual Studio 2015,这就是我的情况。