Неопределенные символы для архитектуры i386 с использованием libsqlite3.dylib с FMDB Xcode 7 ios9

Я использую Xcode 7 и iOS 9 для создания простого приложения, которое сохраняет данные и извлекает их с помощью sqllite3. Однако я получаю следующее сообщение об ошибке при создании приложения с использованием библиотеки libsqlite3.dylib и FMDB, полученного из github.

Undefined symbols for architecture i386:
  "_sqlite3_bind_blob", referenced from:
      -[FMDatabase bindObject:toColumn:inStatement:] in FMDatabase.o
  "_sqlite3_bind_double", referenced from:
      -[FMDatabase bindObject:toColumn:inStatement:] in FMDatabase.o
  "_sqlite3_bind_int", referenced from:
      -[FMDatabase bindObject:toColumn:inStatement:] in FMDatabase.o
  "_sqlite3_bind_int64", referenced from:
      -[FMDatabase bindObject:toColumn:inStatement:] in FMDatabase.o
  "_sqlite3_bind_null", referenced from:
      -[FMDatabase bindObject:toColumn:inStatement:] in FMDatabase.o
  "_sqlite3_bind_parameter_count", referenced from:
      -[FMDatabase executeQuery:withArgumentsInArray:orDictionary:orVAList:] in FMDatabase.o
      -[FMDatabase executeUpdate:error:withArgumentsInArray:orDictionary:orVAList:] in FMDatabase.o
  "_sqlite3_bind_parameter_index", referenced from:
      -[FMDatabase executeQuery:withArgumentsInArray:orDictionary:orVAList:] in FMDatabase.o
      -[FMDatabase executeUpdate:error:withArgumentsInArray:orDictionary:orVAList:] in FMDatabase.o
  "_sqlite3_bind_text", referenced from:
      -[FMDatabase bindObject:toColumn:inStatement:] in FMDatabase.o
  "_sqlite3_busy_handler", referenced from:
      -[FMDatabase setMaxBusyRetryTimeInterval:] in FMDatabase.o
  "_sqlite3_changes", referenced from:
      -[FMDatabase changes] in FMDatabase.o
  "_sqlite3_close", referenced from:
      -[FMDatabase close] in FMDatabase.o
  "_sqlite3_column_blob", referenced from:
      -[FMResultSet dataForColumnIndex:] in FMResultSet.o
      -[FMResultSet dataNoCopyForColumnIndex:] in FMResultSet.o
  "_sqlite3_column_bytes", referenced from:
      -[FMResultSet dataForColumnIndex:] in FMResultSet.o
      -[FMResultSet dataNoCopyForColumnIndex:] in FMResultSet.o
  "_sqlite3_column_count", referenced from:
      -[FMResultSet columnCount] in FMResultSet.o
      -[FMResultSet columnNameToIndexMap] in FMResultSet.o
      -[FMResultSet kvcMagic:] in FMResultSet.o
      -[FMResultSet resultDictionary] in FMResultSet.o
  "_sqlite3_column_double", referenced from:

Я схожу с ума после поиска, но не смог найти никакого решения. Пожалуйста, предложите. Заранее спасибо.


person heavyguidence    schedule 12.07.2015    source источник


Ответы (2)


Проверьте, добавлен ли libsqlite3.dylib в раздел Link Binary with Libraries на этапах сборки.

введите здесь описание изображения

person ipraba    schedule 12.07.2015
comment
Спасибо за ответ! У меня такая же настройка на этапах сборки. Даже я пытался добавить оба файла sqlite3. Все еще есть та же проблема, хотя - person heavyguidence; 14.07.2015
comment
@ RegisSt-Gelais У меня та же проблема в Xcode 7, за исключением того, что я уже добавил libsqlite3.tbd в список. - person Dai; 26.02.2016

Не похоже, что ваш проект связывается с libsqlite3. Дважды проверьте, что он ссылается на него, и если это так, возможно, добавьте его в качестве флага компоновщика.

person ccgus    schedule 12.07.2015
comment
Спасибо за ответ, но как добавить элемент в качестве флага компоновщика? Я новичок в разработке iOS, еще не уверен - person heavyguidence; 14.07.2015