когда я запускаю грит, мне выдается следующее сообщение об ошибке:

interlockedcompareexchange64 не может быть расположен в динамически связанной библиотеке "KERNEL32.DLL»

Я не могу понять, если это проблема с Windows, имеющей отсутствующую или, возможно, поврежденную функцию из dll, или есть проблема с тем, как был построен движок. Будет ли работать перестройка программы или мне нужно переустановить Windows?

1 ответ1

1

Сообщение об ошибке появляется из-за того, что Grit использует функцию InterlockedCompareExchange64() которая доступна только начиная с Windows Vista и Server 2003, то есть в Windows XP ее еще нет.

Восстановление Grit в системе Windows XP может помочь, если оно было написано для выбора альтернативных версий той же задачи во время компиляции. (Например, обычно можно выполнить одну и ту же задачу различными другими функциями синхронизации, предоставляемыми Windows XP, хотя некоторые из них придется комбинировать, что будет немного более подвержено ошибкам при записи и медленнее при работе.)

С другой стороны, Windows XP уже ~ 12 лет, поэтому вполне возможно, что разработчики решили больше не поддерживать ее и не добавляли такие альтернативные версии кода.

Переустановка Windows не поможет, поскольку ее библиотеки просто не имеют этой функции вообще.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .