2012-02-02 5 views
0

Я собрал библиотеку Berkeley DB и включил в свой проект iOS в Xcode 4.2. Проект компилируется нормально, но когда я запускаю его я получаю следующее сообщение об ошибке:Импортированная библиотека несовместима со сборкой

BDB1539 Build signature doesn't match environment

.

.

.

lots of exceptions here with no useful information

.

.

.

terminate called throwing an exception(gdb)

Проект является одним из шаблонов, который поставляется с Xcode. Единственное, что я изменил, - это добавить заголовок для библиотеки berkeley, связать библиотеку и создать экземпляр БД в init контроллера модели.

Я побежал липо на библиотеку, чтобы убедиться, что это была правильная архитектура и получил следующий результат:

>lipo -info libdb_cxx-5.3.a 
input file libdb_cxx-5.3.a is not a fat file 
Non-fat file: libdb_cxx-5.3.a is architecture: i386 

Это, кажется, правильная архитектура.

Что такое разумный способ отладки, что здесь происходит не так?

+0

Верните свои изменения и посмотрите, не работает ли они без них. Вы еще это пробовали? – Jim

+0

Я решил. Глупая ошибка с моей стороны. – mydogisbox

ответ

0

Оказывается, что «подпись сборки не соответствует окружающей среде» - это исключение Berkeley DB, которое я запускал, когда я проходил по пути unix вместо пути iOS в качестве места расположения базы данных для среды.

1

На самом деле, эта проблема также возникла из-за того, что я создал свою базу данных с библиотекой отладки и попытался открыть ее позже, используя выпуск. Что-то для людей, о которых нужно знать ...

Смежные вопросы