2010-11-27 8 views
1

SDK 2.2用のiPhoneアプリを作成しました。私はXCodeとSDKを更新しました。今はSDK 4.2しか持っていません。SqliteでiOS 4のコンパイルに失敗する

問題は、コンパイルすることさえできないということです。

私は次のエラーを取得:

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk/usr/include/sqlite3.h:5772:エラー: '=' が予想を、 ' ' ';'、 'ASM' または' 属性' 'int型の前に

問題の行は次のとおりです。

SQLITE_APIのint型のsqlite3_rtree_geometry_callback( sqlite3のの*デシベル、 のconstのchar * zGeom、 int(* xGeom)(sqlite3_rtree_geometry *、int nC oord、double * aCoord、int * pRes)、 void * pContext );

新しいsqliteフレームワーク(libsqlite3.dylibとlibsqlite3.dylibの両方)を再リンクしようとしましたが、どちらもまだこのエラーの原因です。

私のインポートステートメント(#import "sqlite3.h")をコメントアウトすると、うまくコンパイルされます。 (私は明らかに、それを実行したときに、それがクラッシュしたが。)

+0

コンパイラが認識できないものにSQLITE_INTが定義されているようです。 '-E'フラグをつけて' gcc'を実行すると、コンパイラが動作するためにどのようなプリプロセッサが生成されているのかを知ることができますか? –

+0

端末で 'gcc -E'を実行すると、次のようなメッセージが表示されます。i686-apple-darwin10-gcc-4.2.1:入力ファイルがありません。それがあなたが求めていたものかどうかは分かりません。私のプロジェクト設定のどこかに-Eフラグを追加する必要がある場合、私はそれをどこで行うべきかわかりません。 – Jet

+0

私はXcode 3.2.3をiOS 4.0 SDKと共にインストールしました。私のアプリはコンパイルされ、iPhone Simulator 4.0で正常に動作します。しかし、同じプロジェクトを使用し、シミュレータを使ってXCode 3.2.5で開くと、コンパイルが失敗します。 – Jet

答えて

0

私は終わったの#import「/usr/include/sqlite3.h」での#import「sqlite3.h」を交換した後、それを動作させるために

0

を管理します新しいプロジェクトを作成し、元のファイルをすべてインポートしてから、sqliteフレームワークをリンクします。その後、それはうまくコンパイルされました。

1

私はこのライブラリをインポートするのと同じ方法Sqlite.h使用使用しました:

#import <sqlite3.h> 

をし、それが問題を解決しました。

関連する問題