2013-05-31 59 views
3

我創建與Quickblox一個簡單的聊天應用程序中引用Quickblox鏈接器錯誤:delete操作符(無效*)」,從

所以我增加了項目的XCode酷似本教程:http://quickblox.com/developers/IOS-how-to-connect-Quickblox-framework

QBUsers類的工作只是罰款,但是當我用QBChat我開始鏈接錯誤:

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)

下面是導致問題的行(如果我評論它,鏈接錯誤走開):

[[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

+0

我收錄了本教程中的所有庫...... – Sergey

+0

如果確實如此,請嘗試清理該項目。有時候,這有助於解決這類問題。 –

+4

您要麼缺少C++標準庫,要麼已鏈接到錯誤的C++標準庫(其中有兩個)。嘗試添加libC++或libstdC++。 –

回答

25

正如它由Greg意見建議Parker,我將libC++。dylib添加到項目中,並且一切正常。

+0

是的,你可以在這裏找到這個信息http://quickblox.com/developers/IOS-how-to-connect-Quickblox-framework以及 –

+1

+1幫了很多 – Buntylm

+0

這爲我工作與不同的SDK,完全無關到Quickblox。謝謝! – user3344977

2

我有同樣的問題,我增加了的libC++和解決

+0

這幾乎是[接受的答案](http://stackoverflow.com/a/16881635/1366033)的副本。如果您找到有用的答案,只需將其投票(一旦您有權限)。無需重複努力 – KyleMit

1

對於iOS9就按照你的應用程序的目標:在建 phases->鏈接二進制與圖書館 - >搜索和添加「的libstdC++待定。」

如果你想將它添加到庫目標中,這將不起作用。 'libstdC++。tbd'不是一個目標文件,因此它不能被添加到一個Objective-C庫的目標中,它需要被添加到想要使用該庫的應用程序中。

+0

適用於iOS8以及:-) – Reckoner