首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我需要一个“所以”文件还是怎么了?

我需要一个“所以”文件还是怎么了?
EN

Stack Overflow用户
提问于 2012-04-17 16:21:32
回答 1查看 427关注 0票数 1

(我在Windows上。)

我试图构建比索。因此,我构建了libsox (SoX的一部分)。据说,pysox需要“链接路径中的libsox.so和libsox.a”。在构建libsox时,我得到了"libsox.a“、"libsox-1.dll”、"libsox.dll.a“、"libsox.la”、"libsox.lai“和许多其他奇怪的文件。当我在链接路径中放置"libsox.a“时,先前显示的错误消失了。但是现在构建脚本调用mingw32-gcc时出错了,它说:

代码语言:javascript
复制
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“文件吗(我如何获得它)?或者有什么需要改变的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-17 16:30:57

MinGW为每个动态链接库(DLL)使用静态接口库。库是链接时所需的库,即需要复制到链接路径中。在运行时路径中需要libsox-1.dll,而在链接时不需要libsox-1.dll。

您不需要Windows平台上的.so文件。静态库libsox.a中似乎缺少了一些符号,或者链接行中缺少了一个库。Windows平台不允许DLL中的未解析符号,这与类似UNIX的.so平台相反.您可能必须在命令行上显式地提供包含sox_get_encodings_info和朋友的库,记住链接器行上的优先级。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10195112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档