2

私は現在、目的の c で生成されたファイルを iPhone プロジェクトでコンパイルしようとして立ち往生しています。基本的に、次の4つのインポートにはそのようなディレクトリがないと私に言い続けます:

Thrift/TProtocol.h Thrift/TApplicationException.h Thrift/TProtocolUtil.h Thrift/TProcessor.h

Thrift wiki のすべての指示に従い、XCode で Thrift フレームワークをダウンロードしてコンパイルしましたが、iPhone 開発に固有の情報はありません。XCodeで新しいコマンドラインプロジェクトを作成すると、それらのファイルを問題なくインポートできるため、iPhoneプロジェクトに固有の問題であるとほぼ確信しています。

4

2 に答える 2

3

ある種の魔術師のサービスを維持した後、Thrift を iPhone/iPad で動作させる方法 (または、少なくとも正常にコンパイルする方法) を見つけました。

まず、wiki からではなく、このコマンドを使用して Objective-C ファイルを取得します。

svn co http://svn.apache.org/repos/asf/incubator/thrift/trunk/lib/cocoa/src/ thrift-cocoa

次に、[新しいプロジェクト] に移動し、[フレームワークとライブラリ] と [Cocoa フレームワーク] を選択して、新しい Xcode プロジェクトを作成します。[作成] をクリックして、適切な場所に保存します。[ターゲット] を右クリックし、[追加] -> [新しいターゲット] を選択します。Cocoa Touch を選択し、次に Static Library を選択します。素敵な名前を付けてください。ターゲットの Build タブに移動し、Base SDK を iPhone Device (私は 3.2 を使用していますが、何でも使用できます) に変更し、アーキテクチャを Standard (armv6 armv7) または Optimized (armv7) に変更します。[一般] タブで、Foundation および Cocoa フレームワークを追加します。

svn リポジトリから取得したすべてのファイルとフォルダーを、プロジェクトの Classes フォルダーにドラッグします。アイテムのコピー ボックスをオンにし、両方のターゲットの横にあるボックスをオンにします。Static Library の Copy Headers フォルダーと Compile Sources フォルダーからそれぞれ TSocketServer.h と .m を削除します。スタティック ライブラリ (およびオプションでフレームワーク) をビルドできるようになりました。

Thrift を使用するプロジェクトを開き、ターゲットの一般タブの情報に移動します。作成した静的ライブラリを Linked Libraries リストに追加します。libYOUR_TARGET_NAME.a という名前にする必要があります。ビルド タブで、ヘッダー検索パスに移動し、作成したばかりの Thrift プロジェクトへのパスを追加し、再帰ボックスをチェックします。

最後に、括弧を削除して引用符に置き換えるだけで、Thrift が生成したコードの import ステートメントを変更するだけです。これで、iPhone プロジェクトを再度ビルドできます。

于 2010-09-01T21:39:25.457 に答える
0

これらの .h ファイルを Xcode プロジェクトに追加してみてください。

于 2010-09-01T19:09:02.160 に答える