gpt4 book ai didi

python - 在 Python 中加载 dll 时出现 Windows 错误 1114

转载 作者:可可西里 更新时间:2023-11-01 10:32:19 25 4
gpt4 key购买 nike

我目前正在尝试将一些代码从 32 位 Windows XP 计算机移植到 64 位 Windows 10 计算机。我需要在我的 python 代码中导入家庭开发的 C dll,如下所示:

    from ctypes import *
[...]
self.inter_test_dll = windll.LoadLibrary("my.dll")

self.w = QtWidgets.QWidget()
self.wid = self.w.winId()
self.wid.setsize(64)
print(self.wid)
self.inter_test_dll.dll_load_window(int(self.wid), 'test')
self.inter_test_dll.dll_connect(2, self.callback)
[...]

dll一加载就崩溃

    Windows Error 1114

这意味着一个 dll 在初始化时崩溃了。我已经在我的个人机器(64 位 Windows 7)上尝试了我的 dll,没问题,一切正常。我已经在 C 程序中的同一台 64 位 Windows 10 机器上尝试了该 dll,LoadLibrary("my.dll") 也失败了,但 LoadLibraryEx("my.dll",NULL, DONT_RESOLVE_DLL_REFERENCE) 确实有效。

当我在我的 dll 上运行 dependency walker 时,它似乎错过了一些 2 到 4 深度级别的 dll,但奇怪的是,当从 C 程序中正确调用时,它似乎并没有影响它的工作。

所以我的问题是,有没有一种方法可以在 Python 中实例化我的 dll 而无需深入检查其依赖项?如果没有,是否有办法修改我的 Windows 行为,以便默认跳过该检查?

非常感谢!

最佳答案

感谢您的评论,我已经解决了我的问题。

WxWidgets 已于 2 天前更新。我用这个新版本重新编译了我的 dll,错误消失了。

抱歉,我找不到更通用的方法来解决这个问题。

关于python - 在 Python 中加载 dll 时出现 Windows 错误 1114,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49032819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com