Search code examples
iosobjective-cquickblox

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


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


Solution

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