使用静态链接重建DLL

时间:2014-08-31 18:07:21

标签: python c++ dll ctypes static-linking

我正在尝试运行一个使用mido模块进行MIDI处理的Python脚本。该脚本在Linux中运行良好但我在Windows中遇到错误,即使在安装了所有相同的模块之后也是如此。 Traceback的结尾以:

结束
 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。

我的问题是我是一个相对业余的程序员而且我不知道&#34;用静态链接重建DLL是什么意思?#34;。不幸的是,上述解决方案中引用的Microsoft help page有点过头了。我还要提一下,我不知道在这段代码中引用了哪个DLL,所以我甚至不确定要重建哪个DLL。

任何人都可以提供有关此错误的新见解,或者让我简单解释如何使用静态链接重建DLL?如果它有用,我很乐意发布完整的Traceback,但它似乎是对空间的低效使用。

编辑:

我还没想出如何在Windows上正确构建portmidi,但我最终使用了Mido的Pygame后端,它运行良好。

0 个答案:

没有答案
相关问题