3

Quickblox で簡単なチャット アプリを作成しています。

そこで、このチュートリアルとまったく同じようにプロジェクトを XCode に追加しました: http://quickblox.com/developers/IOS-how-to-connect-Quickblox-framework

QBUsers クラスは問題なく動作しましたが、QBChat を使用すると、リンカー エラーが発生し始めました。

アーキテクチャ i386 の未定義シンボル: "operator delete(void*)"、参照元: -[QBVideoChat initAudioCapture] in Quickblox(QBVideoChat.o) "operator new(unsigned long)"、参照元: -[QBVideoChat initAudioCapture] in Quickblox(( QBVideoChat.o) "___gxx_personality_v0"、参照元: Dwarf Exception Unwind Info (__eh_frame) in Quickblox(QBVideoChat.o) ld: アーキテクチャ i386 のシンボルが見つかりませんでした。clang: エラー: リンカー コマンドが終了コード 1 で失敗しました (use - 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

2

iOS9 の場合、アプリケーションのターゲットで次の操作を行います: ビルド段階で -> バイナリをライブラリにリンク -> 「libstdc++.tbd」を検索して追加します。

これをライブラリターゲットに追加しようとしている場合、これは機能しません。「libstdc++.tbd」はオブジェクト ファイルではないため、objective-c ライブラリのターゲットに追加できません。ライブラリを使用するアプリケーションに追加する必要があります。

于 2015-10-06T11:29:06.717 に答える