Undefined symbols for architecture i386: 错误处理

项目编译出现以下的错误:

Undefined symbols for architecture i386:
  "_NSHFSTypeCodeFromFileType", referenced from:
      -[FMDatabase(FMDatabaseAdditions) setApplicationIDString:] in FMDatabaseAdditions.o
  "_NSFileTypeForHFSTypeCode", referenced from:
      -[FMDatabase(FMDatabaseAdditions) applicationIDString] in FMDatabaseAdditions.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

解决办法:
按一下快捷键'command+3'在工程中输入字符串#if SQLITE_VERSION_NUMBER >= 3007017进行查找,结果如下图:

Undefined symbols for architecture i386: 错误处理_第1张图片
Paste_Image.png

然后选中.m文件,进入文件,找到错误中提到的两个方法:
- (uint32_t)applicationID;- (NSString*)applicationIDString;,然后使用下面的判断包括起来

#if TARGET_OS_MAC && !TARGET_OS_IPHONE  

#endif 

结果如果所示:

Undefined symbols for architecture i386: 错误处理_第2张图片
Paste_Image.png

你可能感兴趣的:(Undefined symbols for architecture i386: 错误处理)