gpt4 book ai didi

c++ - libcurl - 无法找到过程入口点 CreateFile2

转载 作者:行者123 更新时间:2023-11-30 04:02:34 24 4
gpt4 key购买 nike

我有一个 Visual Studio 2012 C++ 项目。我通过右键单击我的项目并选择管理 NuGet 包来安装 libcurl。

我正在尝试运行以下简单程序:

#include <stdio.h>
#include <curl\curl.h>

int main(void)
{
CURL *curl;
CURLcode res;

curl_global_init(CURL_GLOBAL_DEFAULT);

curl = curl_easy_init();
if(curl)
{
//I will do something
}

return 0;
}

当我运行它时,出现以下错误:

enter image description here

此解决方案:Calling any cURL function results in "entry point not found" when executing the program向我指出了这个解决方案:Using the Windows 8 SDK to compile for Windows 7它告诉我将我的平台工具集Visual Studio 2012 (v110)更改为Visual Studio 2012 - Windows XP (v110_xp)

但我仍然得到同样的错误。

有人知道怎么解决吗?

最佳答案

当使用默认的“v110”/“v120”工具集使用 Visual Studio 2012/2013 构建时,您使用的是 Windows 8.x SDK。要支持 Windows 7,您只需设置预处理器定义 _WIN32_WINNT=0x0601 以指示对 Windows 7 或更高版本的支持,而不是默认的 0x0602 或 0x0603 指示对 Windows 8 或更高版本的支持。

参见 MSDN

如果您更改为“v110_xp”/“v120_xp”工具集,那么您使用的是 Windows 7.1A SDK,因为 Windows 8.x SDK 不支持 Windows XP。如果您想要 Windows XP 支持,您应该在此处将 _WIN32_WINNT 设置为 0x0501。通常,您不需要使用“v110_xp”/“v120_xp”工具集来定位 Windows 7。

这里更基本的问题是您可能根本没有构建 cURL 代码,因为您使用的是 NuGet。

首先尝试设置 _WIN32_WINNT 设置以查看 NuGet 包是否构建为支持下层 Win32 桌面应用程序。否则,NuGet 与 .libs 一起发布,仅适用于 Windows 8.x 兼容性——顺便说一下,这是在 Windows 应用商店应用程序而不是 Win32 桌面应用程序中使用它所必需的。您也可以尝试直接从原始项目网站获取库并自行构建它 http://curl.haxx.se/

关于c++ - libcurl - 无法找到过程入口点 CreateFile2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25018115/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com