2010-07-02 50 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本身如何提供库。