iPhone链接器错误(音频流)

iPhone链接器错误(音频流),iphone,objective-c,xcode,linker,audiostreamer,Iphone,Objective C,Xcode,Linker,Audiostreamer,我用的是马特·加拉赫的。我下载了代码/项目,它运行/编译/链接很好 问题是当我尝试将AudioStreamer类集成到我自己的项目中时。我添加了所有必要的框架,并检查了项目设置,以确保它们尽可能匹配Matt的项目 我还没有添加Matt的任何代码(AudioStreamer类除外)。我现在要做的就是定义这个函数: - (void)createStreamer { streamer = [[AudioStreamer alloc] initWithURL:audiourl]; } 如果我注

我用的是马特·加拉赫的。我下载了代码/项目,它运行/编译/链接很好

问题是当我尝试将AudioStreamer类集成到我自己的项目中时。我添加了所有必要的框架,并检查了项目设置,以确保它们尽可能匹配Matt的项目

我还没有添加Matt的任何代码(AudioStreamer类除外)。我现在要做的就是定义这个函数:

- (void)createStreamer {
    streamer = [[AudioStreamer alloc] initWithURL:audiourl];
}
如果我注释掉该函数中的唯一一行,项目编译/链接就可以了。如果我把那一行留在那里,我会得到这个错误(如果我理解正确,这是一个链接器错误):

我在谷歌上搜索了这个错误,大多数人都是因为忘记了包含某个框架而得到这个错误的。我有我的项目所需要的所有框架

有人知道发生此错误的其他原因吗?有什么我可以俯瞰的环境吗

除了在Matt的项目中将构建架构设置为arm6、在Matt的项目中将构建架构设置为arm7以及在我的项目中将构建架构设置为i386之外,大多数项目设置都是相同的。我尝试为模拟器和设备编译,但得到了相同的错误

我能想到的唯一一件事是Matt的项目日期是2009年(相当老了),所以新Xcode中的默认配置可能发生了一些变化

如果有人能提供任何见解,我将不胜感激


谢谢。

听起来你需要将AudioStreamer.m添加到你的目标中。

是的,就是这样,我刚刚通过另一篇文章发现了这一点。找到答案的关键是搜索“collect2:ld返回1退出状态”,而不是第一行。谢谢我在这上面浪费了太多时间。我不知道为什么它不是默认设置的,因为我创建了这个类,然后复制粘贴了代码。
"_OBJC_CLASS_$_AudioStreamer", referenced from:
objc-class-ref-to-AudioStreamer in AudioViewController.o
ld: symbol(s) not found
collect2: ld returned 1 exit status