当我启动 grit 时,它给出了以下错误消息:
无法在动态链接库“KERNEL32.DLL”中找到 interlockedcompareexchange64
我无法弄清楚这是否是 Windows 的问题,dll 中缺少或损坏了某个函数,或者是引擎的构建方式有问题。重建程序可以工作吗,还是我需要重新安装 Windows?
答案1
出现错误消息是因为 Grit 使用InterlockedCompareExchange64()
该功能仅从 Windows Vista 和 Server 2003 开始可用 - 也就是说,Windows XP 尚不具备该功能。
在 Windows XP 系统上重建 Grit可能帮助,如果它被编写为在编译时从同一任务的替代版本中进行选择。(例如,通常可以使用 Windows XP 提供的各种其他同步功能执行同一任务,尽管必须将其中几个功能组合在一起,这在编写时更容易出错,运行时速度更慢。)
另一方面,Windows XP是现在已经有 12 年的历史了,所以很有可能开发人员选择不再支持它,并且没有添加任何此类替代代码版本。
重新安装 Windows 不会有帮助,因为它的库根本没有这个功能。