【问题标题】:“Undefined symbols for architecture x86_64” Xcode“架构 x86_64 的未定义符号” Xcode
【发布时间】:2020-02-21 21:40:13
【问题描述】:

这是我第一次使用 Xcode V11.3.1

我正在尝试在 Xcode 上编译 Buildbox 3 项目,但我得到了错误列表, 36 错误均以以下内容开头:

Undefined symbol:

还有这条消息

Undefined symbols for architecture x86_64:
  "PTAdInvoker::rewardedVideoDidReward(char const*, bool)", referenced from:
      -[AdIntegratorManager rewardedVideoDidReward:] in AdIntegratorManager.o
  "PTAdInvoker::interstitialFailed(char const*)", referenced from:
      -[AdIntegratorManager interstitialFailed:] in AdIntegratorManager.o
  "PTAdInvoker::interstitialLoaded(char const*)", referenced from:
      -[AdIntegratorManager interstitialLoaded:] in AdIntegratorManager.o
  "PTAdInvoker::rewardedVideoFailed(char const*)", referenced from:
      -[AdIntegratorManager rewardedVideoFailed:] in AdIntegratorManager.o
  "PTAdInvoker::bannerFailed(char const*)", referenced from:
      -[AdIntegratorManager bannerFailed:] in AdIntegratorManager.o
  "PTAdInvoker::rewardedVideoLoaded(char const*)", referenced from:
      -[AdIntegratorManager rewardedVideoLoaded:] in AdIntegratorManager.o
  "PTAdInvoker::bannerLoaded(char const*)", referenced from:
      -[AdIntegratorManager bannerLoaded:] in AdIntegratorManager.o
  "_AOBSendInterstitialAdAttemptReport", referenced from:
      -[AdIntegratorManager interstitialImpression:] in AdIntegratorManager.o
      -[AdIntegratorManager interstitialFailed:] in AdIntegratorManager.o
  "PTAdInvoker::networkFailed(char const*)", referenced from:
      -[AdIntegratorManager networkFailed:] in AdIntegratorManager.o
  "_AOBStartSessionReporting", referenced from:
      -[AppDelegate application:didFinishLaunchingWithOptions:] in AppDelegate.o
  "PTModelGeneralSettings::shared()", referenced from:
      -[GameViewController shouldAutorotateToInterfaceOrientation:] in GameViewController.o
      -[GameViewController supportedInterfaceOrientations] in GameViewController.o
  "PTAdInvoker::rewardedVideoDidEnd(char const*, bool)", referenced from:
      -[AdIntegratorManager rewardedVideoDidEnd:] in AdIntegratorManager.o
  "PTPAppDelegate::~PTPAppDelegate()", referenced from:
      ___cxx_global_var_init.2 in GameViewController.o
  "cocos2d::Director::mainLoop()", referenced from:
      -[GameViewController glkView:drawInRect:] in GameViewController.o
  "PTModelController::shared()", referenced from:
      -[GameViewController viewDidLoad] in GameViewController.o
  "PTModelController::loadDataForSplashScreen(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*)", referenced from:
      -[GameViewController viewDidLoad] in GameViewController.o
  "cocos2d::Director::setViewport()", referenced from:
      -[GameViewController glkView:drawInRect:] in GameViewController.o
  "cocos2d::GLViewImpl::createWithEAGLView(void*)", referenced from:
      -[GameViewController viewDidLoad] in GameViewController.o
  "cocos2d::FileUtils::addSearchPath(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool)", referenced from:
      -[GameViewController viewDidLoad] in GameViewController.o
  "PTPAppDelegate::PTPAppDelegate()", referenced from:
      ___cxx_global_var_init.2 in GameViewController.o
  "cocos2d::Application::run()", referenced from:
      -[GameViewController viewDidLoad] in GameViewController.o
  "cocos2d::Director::setOpenGLView(cocos2d::GLView*)", referenced from:
      -[GameViewController viewDidLoad] in GameViewController.o
  "PTAdInvoker::interstitialClosed(char const*)", referenced from:
      -[AdIntegratorManager interstitialClosed:] in AdIntegratorManager.o
  "cocos2d::Director::startAnimation()", referenced from:
      -[AppDelegate applicationDidBecomeActive:] in AppDelegate.o
  "cocos2d::FileUtils::getInstance()", referenced from:
      -[GameViewController viewDidLoad] in GameViewController.o
      cocos2d::FileUtils::sharedFileUtils() in GameViewController.o
  "cocos2d::Director::getInstance()", referenced from:
      -[AppDelegate applicationWillResignActive:] in AppDelegate.o
      -[AppDelegate applicationDidBecomeActive:] in AppDelegate.o
      -[GameViewController viewDidLoad] in GameViewController.o
      -[GameViewController glkView:drawInRect:] in GameViewController.o
      -[GameViewController touchesBegan:withEvent:] in GameViewController.o
      -[GameViewController touchesMoved:withEvent:] in GameViewController.o
      -[GameViewController touchesEnded:withEvent:] in GameViewController.o
      ...
  "cocos2d::Application::getInstance()", referenced from:
      -[AppDelegate applicationDidEnterBackground:] in AppDelegate.o
      -[AppDelegate applicationWillEnterForeground:] in AppDelegate.o
      -[GameViewController viewDidLoad] in GameViewController.o
  "PTModelController::clean()", referenced from:
      -[GameViewController viewDidLoad] in GameViewController.o
  "_AOBStopSessionReporting", referenced from:
      -[AppDelegate applicationWillTerminate:] in AppDelegate.o
  "PTBaseModelGeneralSettings::orientation() const", referenced from:
      -[GameViewController shouldAutorotateToInterfaceOrientation:] in GameViewController.o
      -[GameViewController supportedInterfaceOrientations] in GameViewController.o
  "PTAdInvoker::networkLoaded(char const*)", referenced from:
      -[AdIntegratorManager networkLoaded:] in AdIntegratorManager.o
  "cocos2d::Director::stopAnimation()", referenced from:
      -[AppDelegate applicationWillResignActive:] in AppDelegate.o
  "_AOBSendRewardedAdAttemptReport", referenced from:
      -[AdIntegratorManager rewardedVideoImpression:] in AdIntegratorManager.o
      -[AdIntegratorManager rewardedVideoFailed:] in AdIntegratorManager.o
  "_AOBSendBannerAdAttemptReport", referenced from:
      -[AdIntegratorManager bannerImpression:] in AdIntegratorManager.o
      -[AdIntegratorManager bannerFailed:] in AdIntegratorManager.o
  "PTAdInvoker::shared()", referenced from:
      -[AdIntegratorManager networkLoaded:] in AdIntegratorManager.o
      -[AdIntegratorManager networkFailed:] in AdIntegratorManager.o
      -[AdIntegratorManager bannerLoaded:] in AdIntegratorManager.o
      -[AdIntegratorManager bannerFailed:] in AdIntegratorManager.o
      -[AdIntegratorManager interstitialLoaded:] in AdIntegratorManager.o
      -[AdIntegratorManager interstitialFailed:] in AdIntegratorManager.o
      -[AdIntegratorManager interstitialClosed:] in AdIntegratorManager.o
      ...
  "_OBJC_CLASS_$_AdIntegratorInterface", referenced from:
      objc-class-ref in CustomAdIntegrator.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

以及其中一些错误消息:

Undefined symbol: PTAdInvoker::rewardedVideoDidReward(char const*, bool)

Undefined symbol: PTAdInvoker::interstitialFailed(char const*)

Undefined symbol: PTAdInvoker::interstitialLoaded(char const*)

Undefined symbol: PTAdInvoker::rewardedVideoFailed(char const*)

Undefined symbol: PTAdInvoker::bannerFailed(char const*)

Undefined symbol: PTAdInvoker::bannerFailed(char const*)

Undefined symbol: PTAdInvoker::rewardedVideoLoaded(char const*)

Undefined symbol: PTAdInvoker::networkFailed(char const*)

经过长时间的搜索,我找到了使用以下方法的解决方案

*

项目 >> 构建设置 >> Apple clang - 语言 - C++ >> 更改 C++ 标准库到 libstdc++(GNY C++ 标准库)

*

它有效,所有上述错误都消失了,但是.... 我收到了新的以下错误:在此代码上

#include <stack>            'stack' file not found
#include <thread>
#include <chrono>

“词法或预处理器问题”下的错误CCDirector.h

当我删除“#include stack”行时,我得到了新的错误:

 'thread' file not found

等等.....

因此,我认为这个解决方案对我来说是无效的 或者我可以解决 'stack' file not found ???

感谢您的帮助。

【问题讨论】:

  • 我认为你包含错误的库。
  • 您是否按照这些说明进行操作? help.buildbox.com/en/articles/…
  • @HWilmer 不是这个,我会检查一下,也许我错过了什么......谢谢你的帮助

标签: c++ xcode undefined-symbol buildbox


【解决方案1】:

我知道已经很久了,但无论如何,

这个解决方案>>>

项目 >> 构建设置 >> Apple clang - 语言 - C++ >> 更改 C++ 标准库到 libstdc++(GNY C++ 标准库)

会引起注意,

一开始的问题是这个项目中有一些库和 SDK 不支持 Xcode 模拟器(我已经询问了 SDK 所有者的支持)

当我构建了我的应用并在真实设备上对其进行测试后,一切正常。

这就是我的情况,如果您在构建项目时遇到这个问题而不是在模拟器上运行它时,请尝试上述解决方案或查看这篇文章

Xcode build failure "Undefined symbols for architecture x86_64"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-12
    • 2016-11-07
    • 2015-11-24
    • 2013-03-09
    • 2013-02-07
    • 2016-11-05
    • 1970-01-01
    • 2015-10-26
    相关资源
    最近更新 更多