0

我正在尝试在我正在开发的游戏中使用 FluidSynth,但我似乎无法让 Fluidsynth 正常工作。每当我尝试导入时,我都会得到:

>>> import fluidsynth
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python26\lib\site-packages\fluidsynth.py", line 35, in <module>
    _fl = ctypes.cdll.LoadLibrary("./libfluidsynth")
NameError: name 'ctypes' is not defined

我读到您可以执行一些导入命令来消除 Ctypes 错误,但是当我尝试发生这种情况时:

>>> lib = ctypes.WinDLL('C:\Python26\Lib\site-packages\libfluidsynth.dll')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python26\lib\ctypes\__init__.py", line 353, in __init__
    self._handle = _dlopen(self._name, mode)
WindowsError: [Error 193] %1 is not a valid Win32 application

我知道当您尝试运行不是为计算机处理器设计的应用程序时,通常会发生 win32 应用程序错误,但我下载 libfluidsynth.dll 的来源说它适用于 Windows 32。
我使用的是 Windows 7 64 位和 Python 2.6。
另外,我在我的 32 位计算机上下载了 Python,还下载了 pyFluidSynth 包和 FluidSynth DLL 本身,但是它告诉我它找不到 FluidSynth 库或其他东西。

4

1 回答 1

0

加载库时,您正在加载的库与您当前运行的 Python 的体系结构非常匹配。

确保如果您的 Python 是 64 位,那libfluidsynth.dll就是 64 位。与 32 位相同。它们必须相同。

您可以使用以下代码识别您的 Python 是 64 位还是 32 位:

>>> import platform
>>> print(platform.architecture()[0])
64bit
于 2016-05-10T23:14:48.283 回答