Windows XP上具有cpprestsdk编译的dll库

问题描述

我在Visual Studio 2019中有使用cpprestsdk的dll项目(以及用于测试目的的控制台应用程序)。 在Windows 7和Windows 10上,原始程序包可以按预期工作,但是我很难在Windows XP上编译和运行。

cpprestsdk通过NuGet版本cpprestsdk.v141包含在项目中,但是对于编译器不可见。第#include <cpprest/http_client.h>行引发错误。

我所做的更改:

  • 平台工具集设置为Visual Studio 2017 - Windows XP (v141_xp)
  • 预处理程序定义已更新为包括CPPREST_TARGET_XP
  • 静态包含的cpprest141_2_10.dll
  • 静态链接的cpprest141_2_10.lib
  • 控制台应用程序设置ConformanceMode设置为false

现在应用正在编译,但在Windows 10上无法正常工作(发送请求时崩溃)。并且它无法在Windows XP上启动(找不到dll入口点)

任何人都知道发生了什么事吗?

@edit: 添加到程序文件夹中缺少的dll后:

  • api-ms-win-core-crt-l1-1-0.dll
  • api-ms-win-core-crt-l2-1-0.dll
  • httpapi.dll

它来到ntdll.dll

Entry Point Not Found error screenshot

The procedure entry point WinSqmAddToStreamEx could not be located in the dynamic link library ntdll.dll

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)