我试图在我的项目中使用EGOPhotoViewer作为静态库,这样我就不需要将所有源代码直接包含在我的项目中。
我已经forked项目并创建了一个可可触摸静态库来生成libEGOPhoto.a
对演示项目进行了修改以利用静态库而不是源代码,因此我删除了库类并将静态库添加为Framework。另一个堆栈答案建议将其添加为已编译的源,但这也不起作用。
我得到的错误与链接有关,如下所示:
ld:警告:忽略文件 /Users/pbrooks/Library/Developer/Xcode/DerivedData/EGOPhotoViewer-chniasxgqzkdbwhjedastrvwlmek/Build/Products/Debug-iphoneos/libEGOPhotoViewer.a, 文件是为存档而构建的,而不是链接的体系结构 (I386)
架构i386的未定义符号:
" _OBJC_CLASS _ $ _ EGOPhotoViewController",引自: RootViewController.o中的objc-class-ref DetailViewController.o中的objc-class-ref RootViewController_iPhone.o中的objc-class-ref ld:找不到架构i386的符号clang:错误:链接器命令失败,退出代码为1(使用-v查看 调用)
有关获取此链接的任何提示吗?
答案 0 :(得分:4)
你正在尝试编译模拟器(这需要你的mac中的intel处理器的i386架构)。您的库可能是针对用于iOS设备的ARMv6 / ARMv7架构编译的。您可以直接在设备上运行它。如果您还想在模拟器上运行,则应根据您是要定位iOS设备还是模拟器(或创建包含两种架构的universal lib)来创建不同的库和链接。