[英]Procedure entry point InitializeConditionVariable could not be located in kernel32.dll
[英]Windows Xp - entry point gettickcount64 could not be located kernel32.dll
我已经使用Curl库(Cpp编程)创建了HTTP POST请求。
组态:
Visual studio 2017
Platform Toolset : Visual Studio 2015 - Windows XP (v140_xp)
在Windows XP系统上运行exe时,抛出以下异常:
the procedure entry point gettickcount64 could not be located kernel32.dll
我的代码:
#include <curl/curl.h>
int main()
{
CURL *curl;
CURLcode res;
curl = curl_easy_init();
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(curl, CURLOPT_URL, "xxxxxx");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "{\n\t\"UserName\":\"abc\", \n\t\"Password\":\"xyz\"\n}");
CURLcode ret = curl_easy_perform(curl);
curl_easy_cleanup(curl);
return 0;
}
那么,如何解决该错误呢? 请帮忙。 提前致谢。
从[MS.Docs]:GetTickCount64函数 (“ 需求”部分):
支持的最低客户端 Windows Vista [桌面应用程序| UWP应用]
备择方案:
如果您使用的是下载的curl (预构建)库:
重建它使用相同的工具为您的应用程序, 并且 :
#define _WIN32_WINNT 0x0501
将/D_WIN32_WINNT=0x0501
传递给编译器
我猜您已经从站点的“下载”部分使用了libcurl
预构建版本。 我本人从未遇到过此问题,但是由于GetTickCount64
是Windows Vista + API,这意味着它们尚未编译具有Windows XP兼容性的库。
尝试自己构建库,然后查看程序是否运行有问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.