Ошибка SQLite 3 при компиляции в iOS 5

#iphone #sqlite

#iPhone #sqlite

Вопрос:

При компиляции моего кода с iOS5 я сталкиваюсь со следующей ошибкой. С предыдущей версией все в порядке

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk/usr/include/sqlite3.h:230:24 : ошибка: переопределение ‘sqlite3’ как другого вида символа [3]

любые предложения

Ответ №1:

У меня такая же проблема. Я обнаружил, что когда я меняю «Компилятор для C / C / Objective-C» с «Apple LLVM compiler 3.0» обратно на «LLVM GCC 4.2», ошибка исчезает. (но это не предпочтительный параметр iOS 5)

Также кажется, что sqlite3 теперь включен по умолчанию в iOS 5.0, что может вызвать ошибку переопределения, когда вы включили sqlite3 в качестве основы в свой проект. Но даже когда я удалил фреймворк из своего проекта, ошибка продолжала появляться (но на этот раз только 2 вместо 4).

Комментарии:

1. что я сделал, так это просто удалить мой старый sqlite 3 и добавить снова. Это работает

Ответ №2:

У меня только что была такая же проблема. Моя проблема заключалась в том, что я использовал прямое объявление в своем заголовочном файле. Это противоречило строке кода в sqlite3.h:

 typedef struct sqlite3 sqlite3;
  

Вместо того, чтобы использовать прямое объявление, просто используйте #import <sqlite3> в заголовочном файле, чтобы избежать этой проблемы.

(Я понимаю, что это, возможно, не было проблемой в вашем случае, Камар, но я публикую это для тех будущих программистов, которые столкнутся с этой ошибкой)