0

私は Mac にはまったく慣れていませんが、Windows にはかなり慣れています。私が必要としているのは、ライブラリ (dylib) によって開閉される所有ウィンドウです。これは、MS Windows では非常に簡単に実行できますが、Cocoa では難しくないようです。

Apple の「CocoaInCarbon」の例のコードを C++ ラッパーで使用しました。しかし、NSApplicationLoad()続いて[NSBundle LoadNibNamed:@"MyWindow" owner:self]失敗します。これは、dylib がバンドルではないことが原因ですか。

dylib内でウィンドウを開いて制御する別の方法はありますか?

4

2 に答える 2

2

はい、問題はバンドルではないことです。あなたのペン先が存在しないバンドルの中にあることはあり得ないので、コードはそれをどのように見つけて開くのでしょうか?

フレームワーク (バンドル) を使用し、そのフレームワークで nib を出荷するか、dylib でプログラムによってウィンドウ全体を作成する必要があります。

于 2010-07-02T15:02:25.763 に答える
0

dylib共有ライブラリがそれほど低レベルではなく、特に GUI を含む場合、Mac で出荷することは標準的な方法ではありません。frameworkコードだけでなく、関連するリソース (ペン先、画像、サウンド) を 1 か所に含めることができるように、ファイルを にパッケージ化します。

この Apple ドキュメントを読んで、何が起こっているのか、どのように準備すればよいのかを理解してください。または、/System/Library/Frameworks/OS X 自体がどのようにライブラリを提供しているかを確認してください。

于 2010-07-02T21:06:54.507 に答える