我正在尝试构建一个支持 IRC 聊天的 iOS 应用程序。我发现以下库似乎很容易实现,并且还有一个如何在 Cocoa 中执行此操作的示例:
Sourceforge 上的 Libircclient (v1.0) IRCClient on GitHub by Jonasschnelli (v1.3)
(对不起,我不能添加超过 2 个超链接)
但是我在我的项目中不断收到这些错误:
架构 i386 的未定义符号:“_OBJC_CLASS_$_IRCClientSession”,引用自:ViewController.o ld 中的 objc-class-ref:未找到架构 i386 的符号
我按照这个答案进行了实施:
iPhone - 为什么编译器在为 ARM 架构构建时找不到某些包含?
创建了一个 Cocoa 静态库项目,它实际上是为 iOS6 构建的,就像它描述的那样。但是,当我尝试在一个简单的 1 视图 iOS 项目中将 Cocoa 示例文件与可可静态库结合使用时,会弹出错误。所以在我的项目中,我有以下文件:
如问题中所述
- libircclient.c
- included the ../include folder as header search which contains the .h files.
从可可示例中,但删除包含到 cocoa.h
- IRCClientSessionDelegate.h
- IRCClientSession.h
- IRCClientChannelDelegate.h
- IRCClientChannel.h
我在 ViewController.m 中添加以下行(没有这些行,它构建时没有错误):
#import "IRCClientSession.h"
IRCClientSession * session = [[IRCClientSession alloc] init];
然后我尝试了第二个和第三个答案:调整armv7和i386的makefile(-arch armv7),但出现相同的i386错误。
我对这些命令不是很好,并且不确定错误实际上是什么意思。据我了解,我必须针对 iOS SDK 而不是针对我的 MAC 64 位 SDK 构建 C 文件。以为我是用 xcode 静态库做到的,但在实际使用它之后,它给了我 i386 错误。我猜 i386 是用于模拟器的。但是构建到设备会导致相同的 i386 错误。
任何帮助,将不胜感激!
[编辑:删除了 make 错误,因为我在 example 文件夹上进行了 make,在 src 文件夹中 make 有效]