#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>
в заголовочном файле, чтобы избежать этой проблемы.
(Я понимаю, что это, возможно, не было проблемой в вашем случае, Камар, но я публикую это для тех будущих программистов, которые столкнутся с этой ошибкой)