私のコードをiOS5でコンパイルしているときに次のようなエラーが表示されます。
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk/usr/include/sqlite3.h:230:24:error:「sqlite3」を別の種類のシンボルとして再定義[3]
助言がありますか
回答:
回答№1は4私は同じ問題を抱えています。 私は、 "Apple LLVM compiler 3.0"から "LLVM GCC 4.2"に "C / C ++ / Objective-C用のコンパイラ"を変更すると、エラーが消えることを発見しました。 (ただし、これはiOS 5の推奨設定ではありません)
また、sqlite3は現在では次のものに含まれているようです。iOS 5.0ではデフォルトで、sqlite3をプロジェクトのフレームワークとして含めたときに再定義エラーが発生する可能性があります。しかし、私が自分のプロジェクトからフレームワークを削除したときでも、エラーは現れ続けました(しかし今回は4の代わりに2のみ)。
回答№2の場合は3
私はちょうど同じ問題を抱えていました。私の問題は、ヘッダーファイルで前方宣言を使用したことです。これは、sqlite3.hのコード行と衝突しました。
typedef struct sqlite3 sqlite3;
前方宣言を使用するのではなく、単に使用します。 #import <sqlite3>
この問題を回避するには、ヘッダーファイルに
(これはあなたのケースでは問題にならない可能性があることを私は認識しています、Qamar、しかし私はこのバグに遭遇するそれらの将来のコーダーのためにそれをポストしています)