Quickblox linker error: operator delete(void*)", r

2019-05-12 05:56发布

I'm creating a simple chat app with Quickblox.

So I added the project to XCode exactly like in this tutorial: http://quickblox.com/developers/IOS-how-to-connect-Quickblox-framework

QBUsers class worked just fine, but when I used QBChat I started to get linker errors:

Undefined symbols for architecture i386: "operator delete(void*)", referenced from: -[QBVideoChat initAudioCapture] in Quickblox(QBVideoChat.o) "operator new(unsigned long)", referenced from: -[QBVideoChat initAudioCapture] in Quickblox(QBVideoChat.o) "___gxx_personality_v0", referenced from: Dwarf Exception Unwind Info (__eh_frame) in Quickblox(QBVideoChat.o) ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Here's the line that causes the problem (if I comment it out, linker errors go away):

[[QBChat instance] setDelegate:self];

The class in which the problem occurs implements the following protocols:

<QBActionStatusDelegate, QBChatDelegate>

Here's the list of frameworks I imported to the project:

-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

3条回答
Juvenile、少年°
2楼-- · 2019-05-12 06:15

As it was suggested in comments by Greg Parker, I added libc++.dylib to the project and everything worked.

查看更多
做自己的国王
3楼-- · 2019-05-12 06:16

I had the same problem, I added the libc++ and resolved

查看更多
一夜七次
4楼-- · 2019-05-12 06:20

For iOS9 do following in your application's target: in build phases->Link Binary With Libraries ->search and add 'libstdc++.tbd'

In case you're trying to add this in a library target this won't work. the 'libstdc++.tbd' is not an object file so it can't be added into an objective-c library's target, it needs to be added in an application that wants to use the library.

查看更多
登录 后发表回答