我正在使用cocos2dx v2.2.6和SDKBOX 1.0.16(今天发布)更新一款非常老的游戏。我已经完成了所有步骤,但是当我更新iOS目标时遇到了僵局。
我收到此错误:
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
clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
正如您所看到的,它无法识别与Ads相关的任何方法,但每个插件的init函数都能正常工作,并且不会导致任何错误。
有人注意到这样的问题或者知道是什么原因造成的吗?我已经用框架双重检查了链接二进制文件中的框架。
谢谢。
答案 0 :(得分:0)
您需要修复构建目标,以便它实际链接到C ++库。要检查的一件事是确保项目中实际上有.cpp或.mm文件,以便Xcode知道自动链接C ++运行时(具有正确扩展名的空文件将执行此操作)。