У меня есть проект dll, использующий cpprestsdk в Visual Studio 2019 (вместе с консольным приложением для целей тестирования). В 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
скриншот ошибки "Точка входа не найдена"
The procedure entry point WinSqmAddToStreamEx could not be located in the dynamic link library ntdll.dll