python - 当文件名与库名不匹配时将 DLL 链接到 Python 扩展
问题描述
是否可以在编译和链接后更改 DLL 的程序集名称?如果是这样,我应该使用什么工具来做到这一点?我在寻找答案时失败了,可能是因为我对这个主题不够了解。
我已经获得了 DLL,这些 DLL 链接到 Windows 上使用 numpy.distutils 和 F2PY 包装器生成的 Python 扩展。我使用 MinGW-w64 工具和 gfortran 作为编译器。DLL 也使用 gfortran 编译。该扩展程序可以很好地编译和链接,但是在运行时我收到错误 ImportError: DLL load failed: The specified module could not be found.
Using dependency walker 我能够发现库名实际上与文件名不同。我可以更改文件名以匹配库名称依赖walker 报告,但名称包含个人用于跟踪其项目的元数据,例如“mylib-v4-fix”。我想修改库名称以与 DLL 的文件名一致,例如“mylib.dll”。我没有被提供 .lib 或 .def 文件,但我想我可以在必要时创建这些文件。
解决方案
推荐阅读
- javascript - 未捕获的类型错误:无法读取 null 的属性“addEventListener”。上下文 _generated_background_page.html
- php - 需要在一个函数中使用多个变量
- jupyter-notebook - 在 jupyter + pycharm 集成中更改布局以在单元格之后显示预览
- python-3.x - “列表”列上的 Python Pandas groupby 数据
- java - 无法写入 MySQL 时连接重置
- c - 使用 fork() 按特定顺序创建进程树
- c# - Saucelabs Selenium 不使用 RemoteWebDriver (C#) 的代理详细信息
- bazaar - breezy 是否完全取代了 msys2 中的 bzr
- alpha-vantage - AlphaVantage:下载的调整时间序列中的随机数据
- java - 如何将自定义 ArrayList 保存到 SQLite 数据库并检索值