当我
我正在努力使.exe文件。错误消息显示,它有问题的第9行,所以我检查了我的代码。有导入库“pylibdmtx”这是解码的datamatrix。
所以我试着删除所有关于这个库和其他相关属性,然后它就好了。我试着找出这个问题进行故障排除,但是我找不到它。所以我最后问你我的问题。
我上传了我的问题
谢谢。
当我
我正在努力使.exe文件。错误消息显示,它有问题的第9行,所以我检查了我的代码。有导入库“pylibdmtx”这是解码的datamatrix。
所以我试着删除所有关于这个库和其他相关属性,然后它就好了。我试着找出这个问题进行故障排除,但是我找不到它。所以我最后问你我的问题。
我上传了我的问题
谢谢。
6条答案
按热度按时间nom7f22z1#
也许有点晚了,但我会分享这个信息是任何其他人都有这个问题:
找到here。
在bootloader中,我们使用提取路径调用SetDllDirectory。由于某些原因,这似乎阻止了从当前目录加载dll。如果使用Null参数调用SetDllDirectory以重置dll搜索路径,则从当前目录加载dll可以正常工作。
基于vlc和libvlc.dll的示例。
不起作用:
作品:
因此,如果您的代码使用ctype加载外部DLL文件,请确保在加载您的DLL之前添加此行(在Windows下测试,不确定其他操作系统)
uqcuzwp82#
pyinstaller和cx_Freeze等冻结器无法找到使用ctypes加载的库。pylibdmtx在
pylibdmtx.EXTERNAL_DEPENDENCIES
中公开了这些二进制依赖项-ctypes. CDLL的示例列表。您可以使用pyinstaller规范文件(示例)让pyinstaller将这些依赖项包含在冻结中。xmd2e60i3#
在使用Pyinstaller创建可执行文件时,您可能需要显式地包含所需的DLL文件。假设所需的DLL文件是
xyz.dll
,python脚本是myscript.py
,您可以像这样包含DLL:这会将DLL放置在创建的可执行文件内的基路径中
bnlyeluc4#
现在已经晚了,但我必须说什么修复了一个问题,花了3天的时间来解决,简单地安装c++ redistributable和重新启动机器解决了我的probelm
zzoitvuj5#
将MCVCP*.DLL的相关版本与您的程序捆绑在一起,以满足该DLL的需要。
rqmkfv5c6#
一个简短的说明是,在某些情况下,您可能需要添加dll文件的完整地址。