C++ 无法将Winhttp包含到Windows XP(v141\u XP)中进行生成

C++ 无法将Winhttp包含到Windows XP(v141\u XP)中进行生成,c++,visual-studio,winhttp,C++,Visual Studio,Winhttp,我正在使用Virsual Studio 2017并在Win7系统上工作,我有以下使用Winhttp的代码: #include "stdafx.h" #include <Windows.h> #include <winhttp.h> #pragma comment (lib, "Winhttp.lib") int main(int argc, char *args[]) { return 0; } 如果我删除和,它将成功编译。对于这种情况,您可以尝试添加此语

我正在使用Virsual Studio 2017并在Win7系统上工作,我有以下使用
Winhttp
的代码:

#include "stdafx.h"
#include <Windows.h>
#include <winhttp.h>
#pragma comment (lib, "Winhttp.lib")

int main(int argc, char *args[])

{
    return 0;
}


如果我删除
,它将成功编译。

对于这种情况,您可以尝试添加此语句以在代码中使用前向声明

#define CINTERFACE 

这可能会帮助其他人在这个问题上绊倒,并有相同的问题,我有。我还试图将v141_xp作为目标,因为我需要在WindowsServer2008R2上运行C++14代码。我从来没有这样做过,VS2017的SDK 7安装似乎不完整。然而,当我将平台工具集设置为v141而不是v141_xp时,在Windows Server 2008 R2上安装VC 2017可再发行软件包确实让我的构建运行起来。这对于我的用例来说已经足够好了


其他工具和框架——>微软Visual C++ + VisualStudio2017

可重新分发,并且您希望人们能够查看这些头文件内的内容吗?只要复制粘贴他们的内容,然后不断删除内容,直到你有一个最小的例子。顺便说一句:XP不受支持,也没有收到任何更新,所以为什么你需要为它进行构建?@UlrichEckhardt:这可能没有什么帮助。我假设此错误是由于使用不支持XP的现代SDK造成的。尽管“Visual Studio 2017-Windows XP(v141_XP)”在项目设置中是可选的,但似乎“Windows XP对C++的支持”在安装程序中是一个单独的项目,默认情况下未选中。@Boperson谢谢,“Windows XP对C++的支持”实际上已经安装了什么是无用的,@MSalters?提供一个最小的例子?
#define CINTERFACE