如何在Mac OS X中使用带有Java的Windows DLL?

我已经看到一些Java项目使用taucs.dll , TAUCS -a稀疏线性求解器的C库,通过Windows中的JNI。 我想我可以通过将TAUCS编译成类似libTaucs.jnilib东西在Mac OS X中实现相同的libTaucs.jnilib 。 我可以访问库的代码,但不知道如何将其编译成DLL,更不用说JNI库了。 到目前为止,我只能编译为静态库。

有没有办法将DLL转换为Mac的JNI库? 如果我必须编译代码,该怎么做? 在动态库中包装静态库是否可以与JNI一起使用,特别是对于TAUCS,如果有人有经验的话?

最后,微软发布了完全独立于平台的.NET Core 。 使用.NET Core框架构建DLL时,可以使用以下命令运行该文件。

 dotnet yourapp.dll 

此外,现在可以使用轻量级IDE Visual Studio代码在Mac或Linux机器上开发.NET应用程序,并且已经发布了Visual Studio for Mac IDE,其中集成了MacOS X上的Mono 。

许多操作系统具有共享库的概念,但是当然这些库的格式等在不同的操作系统上是不同的。

DLL(动态链接库)是共享库的Windows版本。 您不能在Mac OS上使用Windows计算机上的DLL,就像您无法在Mac OS(或任何其他操作系统)上运行Windows应用程序一样。

您需要找到您尝试使用的本机库的Mac OS特定版本,而不是尝试在Mac OS上使用Windows DLL。 或者,如果您有源代码,请将其编译为Mac OS本机共享库。 Mac OS X上的共享库具有扩展名.so(而不是.dll),它代表“共享对象”。
不能使用Java加载它们。