2017-01-13 9 views
0

私は非常に古いゲームをcocos2dx v2.2.6とSDKBOX 1.0.16を使ってアップデートしています。私はすべてのステップを踏んだが、iOSターゲットを更新したときにデッドロックが発生した。アーキテクチャarm64の未定義のシンボル[SDKBOX and cocos2dx v2.2.6]

私はこのエラーを取得する:

Undefined symbols for architecture arm64: "sdkbox::PluginChartboost::show(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from: GameLayer::pauseGame(cocos2d::CCObject*) in GameLayerScene.o "sdkbox::PluginAdMob::isAvailable(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from: GameLayer::pauseGame(cocos2d::CCObject*) in GameLayerScene.o "sdkbox::PluginAdMob::show(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from: GameLayer::pauseGame(cocos2d::CCObject*) in GameLayerScene.o "sdkbox::PluginChartboost::isAvailable(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from: GameLayer::pauseGame(cocos2d::CCObject*) in GameLayerScene.o "sdkbox::PluginAdMob::cache(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from: GameLayer::pauseGame(cocos2d::CCObject*) in GameLayerScene.o AppDelegate::applicationDidFinishLaunching() in AppDelegate.o ld: symbol(s) not found for architecture arm64 打ち鳴らす:エラー:あなたが見ることができるようにリンカコマンドは終了コード1(呼び出しを参照するには、-v使用) で失敗しました、それが広告に関連する任意の方法を特定することはできませんが、各プラグインのinit関数は正常に動作し、エラーは発生しません。

誰もがこのような問題に気づいたか、これを引き起こしている可能性があることを知っていますか?フレームワークとのリンクバイナリでフレームワークをダブルチェックしました。

ありがとうございます。

答えて

0

実際にC++ライブラリにリンクするようにビルドターゲットを修正する必要があります。 Xcodeが自動的にC++ランタイムをリンクすることを知るように、プロジェクト内に実際に.cppまたは.mmファイルがあることを確認してください(空のファイルが正しい拡張子でそれを行います)。

+0

私のプロジェクトには、cocos2dxゲームプロジェクトのクラスとcocos2dxゲームエンジンクラスの複数の.cppファイルがあります。 –

+0

さて、C++ライブラリが含まれていることを確認するためにビルド中にリンク行をチェックする必要があります。あなたは、いくつかのressonのためにすべてのC++シンボルを好きにすることができないので、リンクに失敗します。 – MoDJ

関連する問題