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

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

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

#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\10\include\10.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\10\lib\10.0.10150.0\ucrt\x86"
-I "C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6\lib\um\x86"
-I "C:\Program Files (x86)\Windows Kits\8.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\10\lib\10.0.10150.0\ucrt\x86"
/LIBPATH:"C:\Program Files (x86)\Windows Kits\8.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\10\Include\10.0.10150.0\ucrt
C:\Program Files (x86)\Windows Kits\8.1\Include\um
C:\Program Files (x86)\Windows Kits\8.1\Include\shared
C:\Program Files (x86)\Windows Kits\8.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\10\lib\10.0.10150.0\ucrt\x86
C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86
C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6\Lib\um\x86

如您所见,我正在使用Visual Studio 2015,这就是我的案例。

关于windows - 在Windows上使用cl.exe手动编译源时应包含哪些目录?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34813692/

10-14 09:29