我试图使用第三方管理的DLL包一个非托管的.so,我不知道如何避免在Mac上的System.DllNotFoundException。
这个库有两个文件
managed_wraper.dllunmanaged_library.so如果我在linux上,将.so和DLL放在输出文件夹中可以工作,那么在Mac上就不能工作了。我也不能让任何平台和木星一起工作。
我在Mac 上尝试了什么
DYLD_FALLBACK_LIBRARY_PATH
.so放置在不同的地方-- ~/Library,current directory,.so我甚至不知道从哪里开始使用木星,我可以让它用#r找到DLL,但是当DLL试图找到.so时,它就崩溃了。
软件版本
发布于 2019-12-24 01:05:35
哇,我不喜欢电脑:)下面是CLI应用程序的工作原理
Linux CLI将DLL和.so复制到输出文件夹中。
Mac 我不得不将.so重命名为.dylib,然后您可以:
library.dylib
libray.so复制到输出文件夹,将重命名为library.so,将library.so重命名为library.dylib并设置为library.dylib。在任何一种情况下,都必须将包装器DLL复制到输出文件夹。也许dotnet只加载.dylib,但我已经看到了在Mac上可以在哪里使用.so文件。请有人指点我
https://stackoverflow.com/questions/59461912
复制相似问题