Mac ve Windows için C++ SDK
Rhino 9, Mac ve Windows için ortak bir C/C++ SDK sunuyor. Aynı kaynak dosyaları iki platformu hedefleyebilir; ancak her platform için ayrı derleme gerekir. Windows eklenti dosyasını Mac’e kopyalamak tek başına uyumluluk sağlamaz.
Örnek projeyi edinme
Resmî rehber, Rhino geliştirici örnekleri deposundaki SampleEventWatcher projesini kullanır. SDK bir Git alt modülü olduğundan depo alt modülleriyle birlikte alınmalıdır. Windows SDK’sındaki büyük kütüphaneler Git LFS ile indirilir; yalnız yer tutucu dosyalar kalırsa bağlama aşaması başarısız olur.
Örnek; nesne ekleme, taşıma ve silme ile dosya açma ve kaydetme gibi belge olaylarını izler. Eklenti sınıfı, komut sınıfları ve olay izleyicisi ortak kodu; derleme dosyaları ise platforma özgü hazırlığı oluşturur.
Windows ve Mac üzerinde derleme
Windows’ta Visual Studio projesi Debug ve x64 yapılandırmasıyla derlenir. Hata ayıklama için başlatılacak uygulama Rhino 9 yürütülebilir dosyası olmalıdır.
Mac’te CMake ile Xcode projesi üretilir. Xcode şemasının Run bölümünde Rhino 9.app seçilerek kesme noktalarıyla çalışılır. Kaynak dosyaları eklendiğinde veya çıkarıldığında proje üretimi yenilenir.
Yükleme, deneme ve dağıtım
Geliştirme sırasında TestLoadPlugIn komutuyla derlenen .rhp yüklenebilir; bu test komutunun adı tam yazılmalıdır. SampleEventWatcher komutunda Enable seçildikten sonra bir nokta çizme, taşıma ve silme işlemleriyle çıktılar doğrulanabilir.
Kullanıcılara dağıtım için Yak paketi hazırlanır. İki platform desteklenecekse hem Windows hem Mac derlemesi pakete dahil edilmelidir.
Yeni bir eklentiye dönüştürme
Örnek kopyalandıktan sonra dosya ve sınıf adları değiştirilir. Eklenti bildirimi Rhino sürümünü ve kullanılan SDK’yı tanımlar. Yeni, benzersiz bir eklenti kimliği üretilmeli ve bildirimdeki kimlikle PlugInID() aynı olmalıdır.
SDK ile çalışan Rhino sürümünün eşleşmesi gerekir. Sürüm uyuşmazlığında yalnız dosya adını değiştirmek yerine SDK alt modülü güncellenip proje yeniden derlenmelidir.
Windows kodunu Mac’e taşırken
MFC başlıkları ve Windows’a özgü uygulama, kaynak ve dışa aktarım dosyaları koşullu derlemeyle ayrılır. Mac’te MFC yoktur; arayüzlerin yeniden ele alınması gerekir. Eto, platformlar arası arayüz için kullanılan yaklaşımdır.
BOOL türü platformlar arasında aynı boyutta değildir. SDK’daki int veya BOOL32 gibi gerçek imzalar izlenmelidir. CMake ortak proje tanımını korurken farklı derleyici ve bağlayıcı ayarlarını platforma göre seçebilir.
Kaynaklar
Bu sayfadaki teknik ve hukuki bilgiler aşağıdaki resmî kaynaklara dayanır.