0

こんにちは、任意のiosプロジェクトに追加できる静的ライブラリを作成しようとしていますが、ios3でライブラリをビルドすると、ios3プロジェクトでは機能しますが、ios4では機能しません。

私が得るエラーは次のとおりです。

未定義のシンボル: ".objc_class_name_UIImage"、参照元:literal-pointer@_ OBJC@ _cls_refs@UIImage in Test3-Release.a(TestViewController.o) ".objc_class_name_NSNotificationCenter"、参照元:literal-pointer@_ OBJC@ _cls_refs@NSNotificationCenter Test3-Release.a(Test.o) で

ライブラリの Foundation および UIKit フレームワークが見つからないように見えますか?

これまでに行ったことは次のとおりです。

2 つのプロジェクトがあります。1 つは、ライブラリ ビルド ターゲットを含むライブラリ プロジェクトです。もう 1 つは、最初のライブラリでビルドされたライブラリを使用しようとするテスト プロジェクトです。

1) 静的ライブラリ ターゲットを使用してプロジェクトを作成し、すべての実装ファイルを追加します。

2)UIKit、Foundationなどのライブラリを「Link Binary with Libraries」フォルダに追加し、リンクされたすべてのライブラリをライブラリターゲットで弱いタイプに設定します。

3)ライブラリをビルドし、ヘッダーファイルとともにテストプロジェクトに追加しました。

4) 私のテスト プロジェクトでは、すべてのビルド構成に対して他のリンカー フラグを -ObjC -all_load に設定しました。

コンパイルすると、フレームワークが含まれていないかのように、一連のエラーが表示されます。

誰が私が何をすべきかについて何か考えがありますか?

ヒント (たぶん?) また、ライブラリ ターゲットの "Link Binary with Libraries" フォルダにフレームワークを追加しても、何も起こらないように見えることにも気付きました。CoreLocation をそのフォルダーに追加しましたが、テスト プロジェクトでコンパイルしようとすると、CoreLocation をテスト プロジェクト フレームワーク フォルダーに追加するまでコンパイルされません。

4

1 に答える 1

0

依存プロジェクト (静的ライブラリを使用する) は、Framewrok ライブラリをリンクしていません。

依存プロジェクト フレームワーク (uikIt、Foundation など) に追加するだけで、すべて正常に動作します。

于 2011-04-28T10:29:22.900 に答える