"CL.exe" 不在独立项目中编译 C++

"CL.exe" Not Compiling C++ in stand alone project

如何解决 "CL.exe" 不编译 C++??

我在我的桌面上创建了一个独立的 python 项目,请记住我没有使用 Visual Studio,我实际上使用的是 pythontowin。我想将 C++ 文件编译成 DLL 以用于我的 python 项目。但是我在尝试使用 cl.exe.

进行编译时遇到了奇怪的无法解释的错误

Here is my C++ file.

#include <Windows.h>
#include <iostream>

using namespace std;

void Thread() {
    cout < "Hello World" < endl;
    Sleep(1000);
}

BOOL DllMain(HINSTANCE hDll,DWORD dwReason, LPVOID) {
    if (dwReason == DLL_PROCESS_ATTACH) {
        CreateThread(0, 0, (LPTHREAD_START_ROUTINE)Thread, 0, 0, 0);
    }
    return TRUE;
}

Command used for cl.exe: cl.exe /std:c++14 /LD ./../LibraryXdll.cpp

And this is the error I am getting: fatal error C1034: Windows.h: no include path set

如果有人能解决这个错误,我将不胜感激,我可以完成我的项目,感谢您的帮助。问候 RanOutOfQuestions!

接受 Tadman 的评论:

您似乎没有设置使用 cl.exe 的环境变量 如果你有 cl.exe,你应该还有一个名为 vcvarsall.bat 或 vcvars32.bat / vcvars64.bat 的 Bat-File。在默认 Visual studio 安装的情况下,这些可以在 "Program Files (x86)\Microsoft Visual Studio\version number\produkt type, e.g. community\VC\Auxiliary\Build" 下找到。

运行 vcvars 的适当版本...(32 位或 64 位,或指定 vcvarsall 的标志,请参阅文档),并且将设置该会话的包含路径(在该终端内,如果关闭它,更改将再次丢失,下次必须再次调用 vcvars。

编辑:Microsoft documentation on vcvars

您可以通过每次在执行编译器之前调用 vcvars 来解决该重置问题,尽管这不是一个很好的解决方案