2011-07-01 16 views
5

plcrashreporterプロジェクトページで提供されている事前ビルドされたフレームワークは、デバイス用にコンパイルすると使用できますが、シミュレータ用には使用できません。私は同じproblem described hereを持っています。Xcode 4でplcrashreporterをコンパイルできません


プレビルドされたフレームワークがシミュレータのアーキテクチャをサポートしていないと仮定して、plcrashreporterソースをダウンロードしました。 Xcodeプロジェクトを開き、CrashReporter-iOS-Simulator > iPhone 4.3 Simulatorターゲットを選択しました。私はプロジェクトをビルドしようとすると、私はこのエラーを取得する:私は(そのようなデバイスのためのような)他の目標のほとんどを構築しようとすると、

libtool: unknown option character `D' in: -D__IPHONE_OS_VERSION_MIN_REQUIRED=30000

は、私は同じエラーを取得します。


私の次のステップは、プロジェクトにソースファイルを追加することでした。私はもはや前述の問題を抱えていません。私がコンパイルしようとするが、私はこのエラーを取得する:

fatal error: 'crash_report.pb-c.h' file not found [2] 
#import "crash_report.pb-c.h" 
     ^
1 error generated. 
Command clang failed with exit code 1

エラーメッセージに記載されているcrash_report.pb-c.hファイルは、単に存在しません。私はplcrashreporterソースツリーとインターネットを検索しました。したがって、私はこのファイルが何らかの形で生成されることになっていると仮定しなければなりませんが、私はどのように把握できません。

crash_report.pb-c.hは、他の多くのコンパイルエラーで結果が含まれている上PLCrashReport.m内の行をコメントアウト。)

答えて

5

あなたは、ファイルが正常に存在しないという点で正しいです、またされる、crash_report.pb-c.c存在しませんこの後の次のエラー。

ファイルは、コンパイル時にビルドルールによって生成されます。作成するカスタムスクリプトをビルドプロセスに追加する必要があります。

まず、プロジェクトのplcrashreporterフォルダ(plcrashreporter-1.0/Dependencies/protobuf-2.0.3/bin/protoc-c)にprotoc-cがあることを確認します。彼らはそれを深く埋葬した。これはあなたのスクリプトが実行されるものです。

crash_report.protoファイルを探します。これは、不足しているファイルを作成するためにprotoc-cが使用する主な入力です。このディレクトリを使用して手動でスクリプトに入れることも、*.protoファイルごとにスクリプトを実行するルールを作成することもできます。私は後者をします。

そして、すでにべきフラグ--c_out="${DERIVED_FILES_DIR}"protoc-cと二つの入力としてあなたのcrash_report.protoファイルを実行するスクリプト、あなたのcrash_report.protoファイルがどこにあるかと同じディレクトリにこの意志出力crash_report.pb-c.hcrash_report.pb-c.cを含むようにビルドルールを編集あなたのプロジェクトでアクセス可能である。

Xcode 4(以上)のビルドルールは、プロジェクトのターゲットのビルドルールタブの下にあります。他のすべてのビルドルールの前にビルドルールを追加します。ここでは鉱山がXcodeで、次のようになります。

Here's what mine looks like in Xcode.

はおそらくディレクトリをいじる必要があるでしょう

関連する問題