3

我正在使用 Quickblox 创建一个简单的聊天应用程序。

所以我将项目添加到 XCode 中,就像在本教程中一样:http: //quickblox.com/developers/IOS-how-to-connect-Quickblox-framework

QBUsers 类工作得很好,但是当我使用 QBChat 时,我开始出现链接器错误:

架构 i386 的未定义符号:“operator delete(void*)”,引用自:Quickblox(QBVideoChat.o) 中的-[QBVideoChat initAudioCapture] “operator new(unsigned long)”,引用自:Quickblox( QBVideoChat.o)“___gxx_personality_v0”,引用自:Quickblox(QBVideoChat.o)中的 Dwarf Exception Unwind Info (__eh_frame) ld:未找到架构 i386 clang 的符号:错误:链接器命令失败,退出代码为 1(使用 - v 查看调用)

这是导致问题的行(如果我将其注释掉,链接器错误就会消失):

[[QBChat instance] setDelegate:self];

出现问题的类实现了以下协议:

<QBActionStatusDelegate, QBChatDelegate>

这是我导入到项目中的框架列表:

-lxml2 -lresolv -lz -framework AVFoundation -framework CoreVideo -framework Accelerate -framework CoreMedia -framework AudioToolbox -framework CoreData -framework CoreLocation -framework CoreGraphics -framework MobileCoreServices -framework SystemConfiguration -framework CFNetwork -framework Quickblox -framework UIKit -framework Foundation

4

3 回答 3

25

正如 Greg Parker 在评论中所建议的那样,我将 libc++.dylib 添加到项目中并且一切正常。

于 2013-06-02T09:50:56.723 回答
2

我有同样的问题,我添加了 libc++ 并解决了

于 2013-12-11T19:34:11.960 回答
2

对于 iOS9,请在应用程序的目标中执行以下操作:在构建阶段->将二进制文件与库链接->搜索并添加“libstdc++.tbd”

如果您尝试将其添加到库目标中,这将不起作用。'libstdc++.tbd' 不是一个目标文件,所以它不能被添加到一个 Objective-C 库的目标中,它需要被添加到一个想要使用这个库的应用程序中。

于 2015-10-06T11:29:06.717 回答