2014-01-19 116 views
0

我執行的dlopen方法在MONOMAC應用:以絕對路徑dlopen的不起作用

MonoMac.ObjCRuntime.Dlfcn.dlopen("/.../SomeFramework.framework/SomeFramework", 0); 

的第一個參數是將一些外部框架的絕對路徑。這個方法總是返回空指針。如何使用絕對路徑在Monomac應用程序中加載動態庫?

如果我將LSEnvironment密鑰添加到Info.plist中,並且包含框架文件夾dlopen的路徑的第一個參數等於「SomeFramework.framework/SomeFramework」。

但我的應用程序是一個普通的C#控制檯應用程序,它不包含Info.plist的,所以我不能添加設置在那裏。

回答

0

該框架依賴於不存在路徑中的另一個框架。

該問題已通過將DYLD_FRAMEWORK_PATH環境變量與包含這些框架的文件夾的路徑相加來解決(有關更多詳細信息,請參閱dlopen reference中的詳細信息)。