2010-07-02 47 views
0

我對Mac很新,但對Windows有合理的認識。 我需要的是一個由圖書館(dylib)打開和關閉的窗口。 這在MS Windows中很容易實現,但在Cocoa下似乎並不困難。dylib中的筆尖的窗口

我使用了C++ Wrappers中蘋果'CocoaInCarbon'示例的代碼。 但NSApplicationLoad()後面[NSBundle LoadNibNamed:@"MyWindow" owner:self]失敗。這是由dylib不是一個捆綁引起的。

是否有其他方法可以打開和控制dylib中的窗口?

回答

2

是的,問題是它不是一個包;您的筆尖不可能位於不存在的捆綁包內,因此代碼如何找到它來打開它?

您需要使用一個框架(這是一個包),並在該框架中發佈nib,或者您需要在您的dylib中以編程方式創建整個窗口。

+0

好的,謝謝,我明白了。您是否知道說明解決方案A和/或B的樣本代碼? Jan – Jan 2010-07-02 18:14:45

0

當共享庫不是非常低的級別並且特別涉及GUI時,在Mac上僅運輸dylib不是標準做法。你將它打包成一個framework,這樣它不僅可以在其中編碼,而且可以在一個地方關聯資源(筆尖,圖像,聲音)。

閱讀this Apple document瞭解正在發生什麼以及如何準備。或者,看看/System/Library/Frameworks/來看看OS X本身如何提供庫。