![](/img/trans.png)
[英]DllNotFoundException with DllImport in Mono on Mac: wrong architecture
[英]DllNotFoundException with DllImport in Mono on Mac
我正在尝试在我的Mono Mac项目中使用DLLImport以使用我自己的.dylib,但是我得到了DllNotFoundException。 我猜它与我的.dylib有关,因为我可以使用现有的.dylib文件,比如libmojoshader.dylib。
这是我如何使用DLLImport
[DllImport("libtestDylib.dylib")]
static extern int libsum(int a, int b);
然后我调用libsum函数以查看它是否有效。
我发现使用MONO_LOG_LEVEL =“debug”MONO_LOG_MASK =“dll”mono myGame.exe命令通过终端运行应用程序是一个很好的方法来调试这样的问题,但我无法让我的应用程序.exe运行。 我已经尝试使用build文件夹中的.exe和.app / contents / MonoBundle中的.exe,我也尝试在.app / contents / MacOs中运行文件,因为这在我发现的一些地方被引用研究。
最后一个文件抛出“文件不包含有效的CIL图像”。 以及另外两个“应用程序包中没有Info.plist文件或Info.plist文件中没有NSPrincipalClass”。
所以,我猜第一步是设法通过终端运行应用程序,以获得正确的调试信息,为什么我的.dylib无法找到。
我制作的.dylib是一个在XNA4中制作的空BSD C lib。
编辑
我现在似乎无法让现有的dylib工作。
我通过使用单个c#文件创建一个新的Mono Mac项目来找到问题,然后我通过终端编译并使用debug命令运行它。 通过终端反馈找到程序搜索.dylib的位置,并且我使用错误的体系结构构建了lib,这可以通过构建32位系统来解决。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.