KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have create a database class and packaged some methods. However, once build the project... Undefined symbols for architecture i386: "_sqlite3_open", referenced from: -[MyDataBase openOrCreateDatabase:] in MyDataBase.o "_sqlite3_exec", referenced from: -[MyDataBase createTable:] in MyDataBase.o -[MyDataBase InsertTable:] in MyDataBase.o -[MyDataBase UpdataTable:] in MyDataBase.o -[MyDataBase querryTableByCallBack:] in MyDataBase.o "_sqlite3_close", referenced from: -[MyDataBase closeDatabase] in MyDataBase.o "_sqlite3_get_table", referenced from: -[MyDataBase querryTable:] in MyDataBase.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation) here are some critical methods: create the database: -(BOOL)openOrCreateDatabase:(NSString*)dbName { self.m_dbName = dbName; NSArray *path =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES); NSString *documentsDirectory = [path objectAtIndex:0]; if(sqlite3_open([[documentsDirectory stringByAppendingPathComponent:dbName] UTF8String],&m_sql) !=SQLITE_OK) { NSLog(@"创建数据库失败"); return NO; } return YES; } create tables: -(BOOL)createTable:(NSString*)sqlCreateTable { if (![self openOrCreateDatabase:self.m_dbName]) { return NO; } char *errorMsg; if (sqlite3_exec (self.m_sql, [sqlCreateTable UTF8String],NULL, NULL, &errorMsg) != SQLITE_OK) { NSLog(@"创建数据表失败:%s",errorMsg); return NO; } [self closeDatabase]; return YES; } close the database: -(void)closeDatabase { sqlite3_close(self.m_sql); } //insert -(BOOL)InsertTable:(NSString*)sqlInsert { if (![self openOrCreateDatabase:self.m_dbName]) { return NO; } char* errorMsg = NULL; if(sqlite3_exec(self.m_sql, [sqlInsert UTF8String],0, NULL, &errorMsg) ==S
Tags (comma-separated)
Save Edits
Cancel