簡體   English   中英

在 Python 中加載 dll 時出現 Windows 錯誤 1114

[英]Windows Error 1114 while loading dll in Python

我目前正在嘗試將一些代碼從 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 上運行依賴項walker時,它似乎錯過了一些 2 到 4 個深度級別的 dll,但奇怪的是,當從 C 程序中正確調用時,它似乎並沒有影響它的工作。

所以我的問題是,有沒有辦法在 Python 中實例化我的 dll 而無需深入檢查其依賴項? 如果沒有,有沒有辦法修改我的 Windows 行為,以便默認跳過該檢查?

非常感謝 !

感謝您的評論,我已經解決了我的問題。

WxWidgets 已於 2 天前更新。 我已經用這個新版本重新編譯了我的 dll 並且錯誤消失了。

抱歉,我找不到更通用的方法來解決這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM