绝对路径的dlopen不起作用

时间:2014-01-19 15:07:52

标签: monomac dlopen

我在 Monomac 应用程序中执行 dlopen 方法:

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

第一个参数是某个外部框架的绝对路径。此方法始终返回空指针。如何使用绝对路径在Monomac应用程序中加载动态库?

如果我将LSEnvironment键添加到Info.plist,其路径包含框架文件夹dlopen,第一个参数等于“SomeFramework.framework / SomeFramework”。

但我的应用程序是一个通用的C#控制台应用程序,它不包含Info.plist,因此我无法在那里添加设置。

1 个答案:

答案 0 :(得分:0)

该框架依赖于路径中不存在的另一个框架。

通过添加DYLD_FRAMEWORK_PATH环境变量以及包含这些框架的文件夹的路径来修复此问题(有关详细信息,请参阅dlopen reference中的详细信息)。