2010-11-27 76 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的*分貝, 常量字符* 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`來查看預編譯器爲編譯器所做的工作,你會發現什麼? – 2010-11-27 06:35:40

回答

0

我設法使其通過#進口「/usr/include/sqlite3.h」

0

我最終取代#進口「sqlite3.h」後工作創建一個新項目,並從原始文件導入所有文件,然後鏈接sqlite框架。之後,它編譯得很好。

1

我用同樣的方式Sqlite.h使用導入這個庫:

#import <sqlite3.h> 

,並解決了問題。