(我在 Windows 上。)
我尝试构建pysox。因此,我构建了 libsox(SoX 的一部分)。据说,pysox 需要“链接路径中的 libsox.so 和 libsox.a”。在构建 libsox 时,我得到了“libsox.a”、“libsox-1.dll”、“libsox.dll.a”、“libsox.la”、“libsox.lai”和许多其他奇怪的文件。当我在链接路径中放置“libsox.a”时,之前显示的错误消失了。但是现在构建脚本在调用 mingw32-gcc 时出现错误,它说:
C:\Programme\MinGW\bin\mingw32-gcc.exe -shared -s build\temp.win32-2.7\Release\pysox\sox.o build\temp.win32-2.7\Release\pysox\sox.def -LC:\Programme\Python\libs -LC:\Programme\Python\PCbuild -lsox -lpython27 -lmsvcr90 -o build\lib.win32-2.7\pysox\sox.pyd
build\temp.win32-2.7\Release\pysox\sox.o:sox.c:(.text+0x3a96): undefined reference to `sox_get_encodings_info'
build\temp.win32-2.7\Release\pysox\sox.o:sox.c:(.text+0x5035): undefined reference to `sox_get_encodings_info'
build\temp.win32-2.7\Release\pysox\sox.o:sox.c:(.text+0x795d): undefined reference to `bcopy'
build\temp.win32-2.7\Release\pysox\sox.o:sox.c:(.text+0xa8b3): undefined reference to `bcopy'
collect2: ld returned 1 exit status
error: command 'mingw32-gcc' failed with exit status 1
以下尝试无效:
- 将“libsox-1.dll”放在链接路径中
- 将其重命名为“libsox.dll”
- 将其重命名为“libsox.so”
- 将与“libsox.a”一起生成的所有文件放在链接路径中
我真的需要 Windows 上的“so”文件吗(我如何获得它)?或者必须改变什么?