使用静态链接重建DLL

2024-04-20 16:17:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试运行一个Python脚本,它使用mido模块进行MIDI处理。这个脚本在Linux下运行得很好,但是我在Windows中遇到了一个错误,即使安装了所有相同的模块。回溯的结尾是:

 File "C:\Python\lib\site-packages\mido\backends\portmidi_init.py", line 20, in <module>
   lib = CDLL(dll_name)
 File "C:\Python27\lib\ctypes\__init__.py", line 365, in __init__ 
   self._handle = _dlopen(self._name, mode)
WindowsError: [Error 126] The specified module could not be found

我发现this answer似乎是一个相同的问题。在

该解决方案建议1)安装C++运行时(我已经做了同样的错误)或2)用静态链接重建DLL。在

我的问题是我是一个相对业余的程序员,我不知道“用静态链接重建DLL”是什么意思。不幸的是,上述解决方案中引用的Microsoft help page有点让我摸不着头脑。我还应该指出,我不知道这段代码中引用的是哪个DLL,所以我甚至不确定要重建哪个DLL。在

有谁能对这个错误提供新的见解或者给我一个简单的解释如何用静态链接重建DLL吗?我很高兴张贴完整的回溯,如果它有用,但它似乎是一个低效的空间利用。在

编辑:

我还没有弄清楚如何在Windows上正确地构建portmidi,但我最终使用了Pygame后端来实现Mido,而且运行良好。在


Tags: 模块inpy脚本init链接windowslib