У меня была такая же проблема.Открыл старый проект в последнем Xcode.sqllite3.h, вызывающий ошибки.
Я заметил, что если вы щелкнете по sqlite3.h в своем коде, вызвавшем ошибку, и откроете его в xcode, щелкните правой кнопкой мыши и покажите в поиске:
/usr/include/sqlite3.h
еще, когда вы переходите к dylib
Project > Targets > Project Name > Build Phases tab > Link Binary with Library section > libsqlite3.lib > right click and Show in Finder
, вы получаете
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr/lib/libsqlite3.lib
, а заголовки для этого находятся в параллельной папке
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr/include/sqllite3.h
большеважно, что файлы .h были разных версий
В каталоге iPhone SDk было
#define SQLITE_VERSION "3.7.2"
В Mac / usr / включено
#define SQLITE_VERSION "3.7.5"
в/ usr / include SQLITE_VERSION "3.7.5" макрос, выдавший ошибку, определен __OSX_AVAILABLE_BUT_DEPRECATED
SQLITE_API int sqlite3_enable_shared_cache(int) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_7, __IPHONE_2_0, __IPHONE_5_0);
Но в одном в iPhone SDk 4.3 / sqlite "3.7.2"
SQLITE_API int sqlite3_enable_shared_cache(int);
для того же определения это не так.
исправление, упомянутое выше, работает
CHANGE EVERY #include "/usr/include/sqlite3.h"
до
#include <sqlite3.h>