2017-01-13 11 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

У меня есть несколько файлов .cpp в моем проекте i.e для моего проекта игры cocos2dx, а также классов движка для игр cocos2dx. –

+0

Ну, вам нужно будет проверить линию ссылок при построении, чтобы убедиться, что библиотека C++ включена. Проект не связан, потому что он не может любить все символы C++ для некоторого resson. – MoDJ