2013-03-07 28 views
8

Tworzę wiązania dla Xamarin.Mac/MonoMac. Chciałbym wstawić dylib w wygenerowanym dll, jak to zrobiono na Xamarin.iOS z atrybutem [LinkWith].Osadzanie dylib w Xamarin.Mac Dll wiązania

Czy można to zrobić? Jeśli tak to jak ? Czy powinienem załadować dylib z aplikacji zużywającej? znowu w tym przypadku, jak?

Próbowałem: - upuszczenie dylib w rdzennych Odniesienia folderu (nie działa) - dodanie atrybutu [assembly: MonoMac.RequiredFramework] (nie znaleźć dylib)

+0

Czy kiedykolwiek myślałeś ou t jak to zrobić? Mam .dylib lub garść .a, które chciałbym dołączyć do mojego projektu XamMac. Dodanie do folderu Native References wydaje się nie robić absolutnie nic ... – tofutim

+0

@migueldeicaza powiedział kiedyś "pracujemy nad tym" –

Odpowiedz

5

udało mi się załadować .dylib z zużywa aplikacja, wykonując następujące czynności:

  • Dodaj .dylib do projektu jako Treści
  • dodać RequiredFrameworkAttribute:
[assembly: MonoMac.RequiredFramework("mylib.dylib")] 
  • zarejestrować zespół z konstruktora AppDelegate:
public partial class AppDelegate : NSApplicationDelegate 
    { 
     public AppDelegate() 
     { 
      Type t = typeof(ATypeFromTheAssembly); 
      MonoMac.ObjCRuntime.Runtime.RegisterAssembly (t.Assembly); 
     } 
    } 

To jeszcze nie osadzić .dylib w montażu wiązań, ale kwalifikuje jako postęp

+0

Próbowałem dostać libz.dylib, aby dołączyć - ale myślę, że problem polega na tym, że libz jest Fat (ma zarówno i386, jak i x86_64). – tofutim