2015-07-12 74 views
0

我使用Xcode 7和iOS 9来创建一个简单的应用程序,它保存数据并使用sqllite3检索它。不过,使用libsqlite3.dylib库和从github检索的FMDB构建应用程序时,我收到以下错误消息。未定义的符号体系结构i386使用libsqlite3.dylib与FMDB Xcode 7 ios9

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: 

我在四处搜寻后发现自己很疯狂,但找不到任何解决方案。请建议。提前致谢。

回答

0

它看起来不像你的项目链接到libsqlite3。仔细检查它是否与它链接,如果是,可以将它添加为链接器标志。

+0

感谢您的答复,但我怎么添加的项目作为链接器标志?我是新来的iOS开发尚不确定 – rulebreaker4

2

检查时是否libsqlite3.dylib在链接二进制与库部分添加在构建阶段

enter image description here

+0

谢谢你的回答!我在构建阶段有相同的设置。即使我尝试添加两个sqlite3文件。仍然有同样的问题,虽然 – rulebreaker4

+0

我加了libsqlite3.tbd,它对我来说工作得很好 –

+0

@ RegisSt-Gelais我在Xcode 7中遇到了同样的问题,除了我已经在列表中添加了'libsqlite3.tbd'。 – Dai

相关问题