在Windows上python在哪里寻找ctypes.cdll。打开的dll?
|
我很想在互联网上找不到一个简单的答案,所以将来可能会因为这个问题而有一个答案!
我正在使用pywiiuse,这是Windows上C wiiuse库的python包装器。通过在源目录中包含dll,标头和库,我已经获得了几个简单的C示例。
但是,我想知道将dll放在哪里,以便pywiiuse可以找到它。查看源代码可以看到它的加载方式如下:
dll = ctypes.cdll.wiiuse
当我将dll与测试示例放在同一目录中时,运行示例将产生模块未找到异常。
python在哪里寻找dll?
没有找到相关结果
已邀请:
2 个回复
搜洼挂时
的来源是:
我无法在
中找到
的定义,但大概是Windows
函数的包装,其行为与POSIX
函数类似,因为这是使用它的方式。 如果您可以修改Python源以改为使用
构造函数,则它应该可以工作:
如果那不可行,您也许可以用猴子补丁ctypes处理这种特殊情况,但这似乎有些危险。也许仅将DLL复制到与Python DLL相同的文件夹中将是最简单的选择。
勺的驴吓识
。或者,如果您感到勇敢,那就设置路径。 使用ctypes加载Kernel32.dll-它知道该本地代码。 从Kernel32.dll加载SetDllDirectory。使用您知道dll所在位置的路径来调用它。 现在,LoadLibrary将在该文件夹中搜索Dll,因此您可以使用ctypes加载dll并调用函数。