簡體   English   中英

在Mac上使用Mono中的DllImport進行DllNotFoundException

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM