题
问:是否有可能使用.dll文件在Linux上编译程序
<强>其中这会:强> 这个.dll将用于从第三方写PHP扩展到一些专用软件。
<强>背景和研究强>
我被赋予了称为proprietary.lib
库。我很好奇,因为我以前从未见过的.lib
延伸,所以我输入:
file proprietary.lib
的输出是:
proprietary.lib: current ar archive
我做了一些研究,发现ar
是更多或更少tar
(事实上,我想tar
有,因为在大多数* nix的环境中代替ar
)。
一旦检查ar
手册页,只见t option
,它显示一个表中的那个归档文件的内容列表。凉。所以I型:
ar t proprietary.lib
和GET:
proprietary.dll
proprietary.dll
... (snip X lines) ...
解决方案
您可以尝试提取ar
文件(Debian软件包是ar
文件,FWIW),然后运行file
上的内容。
你不会是能够使用的Windows DLL没有翻译。唯一的DLL文件,我知道这项工作本身在Linux上的编译和Mono。
如果有人给你一个专有的二进制库的代码对,你应该确认它的编译为目标架构(没有像试图利用上午ARM二进制在x86系统上),并且它的编译的Linux版本。
话虽这么说......好运气。我讨厌编程针对其中我有文档的第三方库和源。
其他提示
最近的发展可能已经改变了这种状况:有是Linux可用调用LoadLibrary 功能,这使得它可能加载一个Windows DLL和然后内调用函数。
所以,如果你真的有.dll
文件是Windows DLL,你可以找到一种方法,使用它你的软件。
.dll文件通常视窗共享库。 (这也有可能是在Linux上有人建立了一个普通的Linux库,并把它称为.dll文件的某些原因。)
这是可能的,你可以使用葡萄酒对他们的链接。这种支持曾经是那里的实验 - 我不知道它的当前状态。
是的,我们可以使用DLL与酒的帮助。 只要安装wine64在linux
sudo apt-get install wine64