2017-01-13 5 views
0

저는 cocos2dx v2.2.6 및 SDKBOX 1.0.16 (현재 출시 됨)을 사용하여 아주 오래된 게임을 업데이트하고 있습니다. 모든 단계를 밟았지만 iOS 대상을 업데이트 할 때 교착 상태에 빠졌습니다.아키텍처 arm64에 대한 정의되지 않은 기호 [SDKBOX 및 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++ 라이브러리에 링크되도록 빌드 대상을 수정해야합니다. 한 가지 확인해야 할 것은 실제로 프로젝트에 .cpp 또는 .mm 파일이 있는지 확인하여 Xcode가 자동으로 C++ 런타임 (올바른 확장명을 가진 빈 파일이 수행함)을 연결하도록합니다.

+0

내 프로젝트에 cocos2dx 게임 프로젝트 및 cocos2dx 게임 엔진 클래스를위한 여러 개의 .cpp 파일이 있습니다. –

+0

글쎄, C++ 라이브러리가 포함되어 있는지 확인하기 위해 빌드하는 동안 링크 라인을 확인해야 할 것입니다. 어떤 resson을 위해 모든 C++ 심볼을 좋아할 수 없으므로 프로젝트 링크가 실패합니다. – MoDJ

관련 문제