我有想从 Linux 环境访问的 windows 动态链接库。我没有那个库的源代码,所以我无法构建 .so 文件。
有没有办法通过使用Winelib
或任何其他库或工具将库文件转换为 .so 文件,以便我可以调用该库中定义的函数?
我有想从 Linux 环境访问的 windows 动态链接库。我没有那个库的源代码,所以我无法构建 .so 文件。
有没有办法通过使用Winelib
或任何其他库或工具将库文件转换为 .so 文件,以便我可以调用该库中定义的函数?
没有简单的方法可以做到这一点,因为 DLL 不能单独在 Linux 环境中运行。它可能会在运行时依赖user32.dll
msvcrt.dll
和朋友,因此您还必须提供这些文件。
您可以使用winelib,但它不只是将 a 转换.dll
为.so
. 您必须链接想要针对 winelib 调用 DLL 的整个项目,并在运行时将 DLL 本身包含在您的应用程序中。如果您尝试将 Windows 应用程序移植到 Linux,winelib 将能够为您转换您的 makefile,但对于复杂的项目,它远非自动化。