xcode 10.2.1 "неопределенные символы для архитектуры arm64" - PullRequest
0 голосов
/ 20 мая 2019

У меня есть игра, которую я создал в cocos2d-x 3.15 на моем компьютере, и она отлично работает. Затем я переместил свой проект на Mac, переключил платформу на iOS и попытался собрать ее для iOS 9.0 и для устройства iphone XR, теперь я получаю сообщение об ошибке «Неопределенные символы для архитектуры arm64» в течение пары дней. журнал ошибок таков:

"_UIApplicationMain", referenced from:
      _main in main.o
  "_OBJC_METACLASS_$_UIViewController", referenced from:
      _OBJC_METACLASS_$_RootViewController in RootViewController.o
  "_OBJC_CLASS_$_UIViewController", referenced from:
      _OBJC_CLASS_$_RootViewController in RootViewController.o
  "CocosDenshion::SimpleAudioEngine::getInstance()", referenced from:
      TRMusicSound::isMusicPlay() in TRMusicSound.o
      TRMusicSound::loadingGameMusic() in TRMusicSound.o
      TRMusicSound::loadingGameSound(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in TRMusicSound.o
      TRMusicSound::setMusicStutas(bool) in TRMusicSound.o
      TRMusicSound::playHeadMusic() in TRMusicSound.o
      TRMusicSound::playGameMusic() in TRMusicSound.o
      TRMusicSound::playGetReadySound() in TRMusicSound.o
      ...
  "cocos2d::Node::init()", referenced from:
      vtable for BaseNode in BaseNode.o
  "cocos2d::ui::Widget::addTouchEventListener(std::__1::function<void (cocos2d::Ref*, cocos2d::ui::Widget::TouchEventType)> const&)", referenced from:
      BaseNode::resetWidgetTouchEvent(char const*) in BaseNode.o
  "cocos2d::Vec2::ZERO", referenced from:
      BaseNode::init(cocos2d::Node*, bool) in BaseNode.o
      BaseLayer::LoadUIFile(char const*, bool) in BaseLayer.o
  "cocos2d::CSLoader::createNode(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
      BaseNode::create(char const*, bool) in BaseNode.o
  "cocos2d::ui::Button::loadTextureDisabled(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, cocos2d::ui::Widget::TextureResType)", referenced from:
      UIGameLayer::updateQetButton() in UIGameLayer.o
  "cocos2d::ui::LoadingBar::setPercent(float)", referenced from:
      UIGameLayer::updateRoleBlood() in UIGameLayer.o
      UIGameLayer::updateRoleMagic() in UIGameLayer.o
      UIGameLayer::setBossBlood(float) in UIGameLayer.o
      UIGameLayer::setBossBlood(float)::$_1::operator()() const in UIGameLayer.o
  "cocos2d::ProgressTimer::create(cocos2d::Sprite*)", referenced from:
      UIGameLayer::initBossCD() in UIGameLayer.o
  "cocos2d::ProgressTimer::setType(cocos2d::ProgressTimer::Type)", referenced from:
      UIGameLayer::initBossCD() in UIGameLayer.o
  "cocos2d::ui::PageView::setCurrentPageIndex(long)", referenced from:
      UISelectScene::updateRolePage() in UISelectScene.o
  "cocos2d::ui::Button::loadTexturePressed(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, cocos2d::ui::Widget::TextureResType)", referenced from:
      UISelectScene::updateButtonStutas(cocos2d::Node*, int) in UISelectScene.o
      UIGameLayer::initHead() in UIGameLayer.o
      UIGameLayer::updateQetButton() in UIGameLayer.o
  "typeinfo for cocos2d::ui::TextBMFont", referenced from:
      UISelectScene::updateCoins() in UISelectScene.o
      UIGameLayer::initPropCount() in UIGameLayer.o
      UIGameLayer::initCombo() in UIGameLayer.o
      UIGameLayer::updateDistance() in UIGameLayer.o
      UIShopLayer::updateCoins() in UIShopLayer.o
      UIResultLayer::initLayerUI() in UIResultLayer.o
.....

Я искал везде и пробовал все, что мог, но все равно не повезло. До сих пор я пробовал:

  1. Изменение архитектуры (armv7 и arm64 и стандартная архитектура)
  2. Изменение "Только для активной архитектуры" на no
  3. Изменение "удаления кода" на no
  4. Добавление $ (наследуется) к "другим флагам компоновщика"
  5. Добавление фреймворков "Security" и "SystemConfiguration" для этапов сборки
  6. Отключение «битового кода» и включение «Сохранять частные внешние символы»
...