0

我正在尝试构建一个非常基本的 iPad 应用程序,该应用程序连接到 mongohq.com 上的 MongoDB 托管实例。经过一些研究, ObjCMongoDB库似乎可以很好地满足我的需求。但是,在按照此处此处的安装说明/评论进行操作后,我无法构建。编译器抱怨以下错误:

Undefined symbols for architecture i386:
_OBJC_CLASS_$_NSAttributeDescription", referenced from:
  objc-class-ref in NSManagedObject+BSONCoding.o

_OBJC_CLASS_$_NSEntityDescription", referenced from:
  objc-class-ref in NSManagedObject+BSONCoding.o

_OBJC_CLASS_$_NSFetchedPropertyDescription", referenced from:
  objc-class-ref in NSManagedObject+BSONCoding.o

_OBJC_CLASS_$_NSManagedObject", referenced from:
  objc-class-ref in NSManagedObject+BSONCoding.o

_OBJC_$_CATEGORY_NSManagedObject_$_BSONCoding in NSManagedObject+BSONCoding.o

_OBJC_CLASS_$_NSRelationshipDescription", referenced from:
  objc-class-ref in NSManagedObject+BSONCoding.o

ld: symbol(s) not found for architecture i386

clang: error: linker command failed with exit code 1 (use -v to see invocation)

作为一名新手 iOS 开发人员,我怀疑 a) 我安装不正确,或者 b) 我对库的基本理解有误。作为参考,我已经从 repo 文件夹中的命令行签出v0.9.7、运行git submodule update --init和运行。git submodule sync提前感谢您的任何和所有指导。

更新

.o 文件扩展名似乎表明编译器试图构建 Mac 应用程序,而不是 iPad 应用程序。也许我在为 iOS 构建的库中缺少一个设置或标志?

4

1 回答 1

0

看起来您需要链接到核心数据。尝试添加CoreData.framework到目标的Link Binary with Libraries部分。

或者,如果您不需要 Core Data 序列化,只需NSManagedObject+BSONCoding.[hm]从您的目标和/或项目中删除。没有它,ObjCMongoDB 的其余部分也可以正常工作。

于 2013-08-02T16:07:15.123 回答