在Xamarin.Mac绑定DLL中嵌入dylib文件

8
我正在为 / 创建绑定。我想像在中使用< [LinkWith]>属性一样,在生成的中嵌入。
是否有可能这样做?如果可以,怎么做?还是应该从消费应用程序中加载?在这种情况下,如何操作?
我尝试过: - 将放置在文件夹中(不起作用) - 添加一个< [assembly: MonoMac.RequiredFramework]>属性(找不到)

你最后搞清楚怎么做了吗?我有一个 .dylib 文件,或者一些 .a 文件,我想要在我的 XamMac 项目中包含它们。将它们添加到 Native References 文件夹似乎完全没有任何效果... - tofutim
@migueldeicaza 曾经说过:“我们正在努力解决这个问题。” - Stephane Delcroix
1个回答

5

我成功地通过以下步骤从消费应用程序中加载了 .dylib

  • .dylib 添加到您的项目中作为内容(Content)
  • 添加 RequiredFrameworkAttribute
    [assembly: MonoMac.RequiredFramework("mylib.dylib")]
  • AppDelegate构造函数中注册程序集:
    public partial class AppDelegate : NSApplicationDelegate
    {
        public AppDelegate ()
        {
            Type t = typeof(ATypeFromTheAssembly);
            MonoMac.ObjCRuntime.Runtime.RegisterAssembly (t.Assembly);
        }
    }

这仍然没有将.dylib嵌入到绑定程序集中,但这算是进步。


我一直在尝试将libz.dylib包含进来,但我认为问题在于libz是Fat(同时包含i386和x86_64)。 - tofutim

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接