Я компилирую программу, используя VS2013, используя набор инструментов v120_xp. Программа отлично работает на Windows 7, однако, как только я пытаюсь запустить программу на компьютере с XP SP3, я получаю сообщение об ошибке.
Я компилирую vs3_0, и я попытался запустить это на машинах с Radeon HD 3600 и 4600, обе из которых поддерживают до шейдерной модели 4_0.
Я обнаружил, что при обновлении сред выполнения DirectX на целевой машине эта ошибка исчезает, однако это исправление не может быть использовано для моего сценария, да, я понимаю, что Windows XP больше не поддерживается, однако в компании, в которой я работаю, много Терминалы в Live Estate работают под управлением Windows XP, поэтому обновление для них не вариант.
Я запустил средство обхода зависимостей и профилировал мою программу и получил интересный список ошибок, связанных с MSVCR120D.dll, так что, возможно, это ошибка времени выполнения C? Вот журналы обхода зависимостей:
GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsAlloc") called from "MSVCR120D.DLL" at address 0x00BEEAD1 and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsFree") called from "MSVCR120D.DLL" at address 0x00BEEAF4 and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsGetValue") called from "MSVCR120D.DLL" at address 0x00BEEB17 and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsSetValue") called from "MSVCR120D.DLL" at address 0x00BEEB39 and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "InitializeCriticalSectionEx") called from "MSVCR120D.DLL" at address 0x00BEEB5C and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "CreateEventExW") called from "MSVCR120D.DLL" at address 0x00BEEB7F and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "CreateSemaphoreExW") called from "MSVCR120D.DLL" at address 0x00BEEBA2 and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "SetThreadStackGuarantee") called from "MSVCR120D.DLL" at address 0x00BEEBC5 and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "CreateThreadpoolTimer") called from "MSVCR120D.DLL" at address 0x00BEEBE8 and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "SetThreadpoolTimer") called from "MSVCR120D.DLL" at address 0x00BEEC0B and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "WaitForThreadpoolTimerCallbacks") called from "MSVCR120D.DLL" at address 0x00BEEC2E and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "CloseThreadpoolTimer") called from "MSVCR120D.DLL" at address 0x00BEEC51 and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "CreateThreadpoolWait") called from "MSVCR120D.DLL" at address 0x00BEEC74 and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "SetThreadpoolWait") called from "MSVCR120D.DLL" at address 0x00BEEC97 and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "CloseThreadpoolWait") called from "MSVCR120D.DLL" at address 0x00BEECBA and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlushProcessWriteBuffers") called from "MSVCR120D.DLL" at address 0x00BEECDD and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "FreeLibraryWhenCallbackReturns") called from "MSVCR120D.DLL" at address 0x00BEED00 and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "GetCurrentProcessorNumber") called from "MSVCR120D.DLL" at address 0x00BEED23 and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "GetLogicalProcessorInformation") called from "MSVCR120D.DLL" at address 0x00BEED46 and returned 0x7C8623D7.
GetProcAddress(0x7C800000 [KERNEL32.DLL], "CreateSymbolicLinkW") called from "MSVCR120D.DLL" at address 0x00BEED69 and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "SetDefaultDllDirectories") called from "MSVCR120D.DLL" at address 0x00BEED8C and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "EnumSystemLocalesEx") called from "MSVCR120D.DLL" at address 0x00BEEDAF and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "CompareStringEx") called from "MSVCR120D.DLL" at address 0x00BEEDD2 and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "GetDateFormatEx") called from "MSVCR120D.DLL" at address 0x00BEEDF5 and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "GetLocaleInfoEx") called from "MSVCR120D.DLL" at address 0x00BEEE18 and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "GetTimeFormatEx") called from "MSVCR120D.DLL" at address 0x00BEEE3B and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "GetUserDefaultLocaleName") called from "MSVCR120D.DLL" at address 0x00BEEE5E and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "IsValidLocaleName") called from "MSVCR120D.DLL" at address 0x00BEEE81 and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "LCMapStringEx") called from "MSVCR120D.DLL" at address 0x00BEEEA4 and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "GetCurrentPackageId") called from "MSVCR120D.DLL" at address 0x00BEEEC7 and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "GetTickCount64") called from "MSVCR120D.DLL" at address 0x00BEEEEA and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "GetFileInformationByHandleExW") called from "MSVCR120D.DLL" at address 0x00BEEF0D and returned NULL. Error: The specified procedure could not be found (127).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "SetFileInformationByHandleW") called from "MSVCR120D.DLL" at address 0x00BEEF30 and returned NULL. Error: The specified procedure could not be found (127).
Я был бы очень признателен за любую помощь в этом, ура.
Задача ещё не решена.