【问题标题】:symbol(s) not found for architecture x86_64 in Xcode 10 (ERROR)在 Xcode 10 中找不到架构 x86_64 的符号(错误)
【发布时间】:2022-05-05 18:41:23
【问题描述】:

我在我的 ios 项目中遇到了这个问题。 Xcode clang 中未找到架构 x86_64 的符号:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)。我多次尝试解决我的 xcode 和项目文件夹。我被困住了。有任何想法吗?日志如下。我正在尝试在 Xcode 10 上运行模拟器构建。

  Undefined symbols for architecture x86_64:
    "google::LogMessage::LogMessage(char const*, int, int)", referenced from:
        facebook::react::CxxNativeModule::invoke(unsigned int, folly::dynamic&&, int)::$_1::operator()() const in CxxNativeModule.o
        facebook::react::JSException::buildMessage(OpaqueJSContext const*, OpaqueJSValue const*, OpaqueJSString*, char const*) in JSCHelpers.o
        facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, folly::dynamic&&)::$_1::operator()(facebook::react::JSExecutor*) const in NativeToJsBridge.o
        facebook::react::NativeToJsBridge::invokeCallback(double, folly::dynamic&&)::$_2::operator()(facebook::react::JSExecutor*) const in NativeToJsBridge.o
    "double_conversion::DoubleToStringConverter::ToShortestIeeeNumber(double, double_conversion::StringBuilder*, double_conversion::DoubleToStringConverter::DtoaMode) const", referenced from:
        double_conversion::DoubleToStringConverter::ToShortest(double, double_conversion::StringBuilder*) const in CxxNativeModule.o
    "double_conversion::DoubleToStringConverter::ToFixed(double, int, double_conversion::StringBuilder*) const", referenced from:
        std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in CxxNativeModule.o
        std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in JSCExecutor.o
        std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in MethodCall.o
        std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in Value.o
    "double_conversion::DoubleToStringConverter::ToPrecision(double, int, double_conversion::StringBuilder*) const", referenced from:
        std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in CxxNativeModule.o
        std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in JSCExecutor.o
        std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in MethodCall.o
        std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in Value.o
    "google::LogMessageFatal::LogMessageFatal(char const*, int)", referenced from:
        std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in CxxNativeModule.o
        facebook::react::Instance::initializeBridge(std::__1::unique_ptr<facebook::react::InstanceCallback, std::__1::default_delete<facebook::react::InstanceCallback> >, std::__1::shared_ptr<facebook::react::JSExecutorFactory>, std::__1::shared_ptr<facebook::react::MessageQueueThread>, std::__1::shared_ptr<facebook::react::ModuleRegistry>) in Instance.o
        facebook::react::JSBigFileString::fromPath(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0::operator()() const in JSBigString.o
        facebook::react::JSBigFileString::c_str() const in JSBigString.o
        facebook::react::JSCExecutor::~JSCExecutor() in JSCExecutor.o
        facebook::react::JSCExecutor::callNativeModules(facebook::react::Value&&) in JSCExecutor.o
        std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in JSCExecutor.o
        ...
    "google::LogMessage::stream()", referenced from:
        std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in CxxNativeModule.o
        facebook::react::CxxNativeModule::invoke(unsigned int, folly::dynamic&&, int)::$_1::operator()() const in CxxNativeModule.o
        facebook::react::Instance::initializeBridge(std::__1::unique_ptr<facebook::react::InstanceCallback, std::__1::default_delete<facebook::react::InstanceCallback> >, std::__1::shared_ptr<facebook::react::JSExecutorFactory>, std::__1::shared_ptr<facebook::react::MessageQueueThread>, std::__1::shared_ptr<facebook::react::ModuleRegistry>) in Instance.o
        facebook::react::JSBigFileString::fromPath(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0::operator()() const in JSBigString.o
        facebook::react::JSBigFileString::c_str() const in JSBigString.o
        facebook::react::JSCExecutor::~JSCExecutor() in JSCExecutor.o
        facebook::react::JSCExecutor::callNativeModules(facebook::react::Value&&) in JSCExecutor.o
        ...
    "google::LogMessage::~LogMessage()", referenced from:
        facebook::react::CxxNativeModule::invoke(unsigned int, folly::dynamic&&, int)::$_1::operator()() const in CxxNativeModule.o
        facebook::react::JSException::buildMessage(OpaqueJSContext const*, OpaqueJSValue const*, OpaqueJSString*, char const*) in JSCHelpers.o
        facebook::react::NativeToJsBridge::callFunction(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, folly::dynamic&&)::$_1::operator()(facebook::react::JSExecutor*) const in NativeToJsBridge.o
        facebook::react::NativeToJsBridge::invokeCallback(double, folly::dynamic&&)::$_2::operator()(facebook::react::JSExecutor*) const in NativeToJsBridge.o
    "google::LogMessageFatal::~LogMessageFatal()", referenced from:
        std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in CxxNativeModule.o
        facebook::react::Instance::initializeBridge(std::__1::unique_ptr<facebook::react::InstanceCallback, std::__1::default_delete<facebook::react::InstanceCallback> >, std::__1::shared_ptr<facebook::react::JSExecutorFactory>, std::__1::shared_ptr<facebook::react::MessageQueueThread>, std::__1::shared_ptr<facebook::react::ModuleRegistry>) in Instance.o
        facebook::react::JSBigFileString::fromPath(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)::$_0::operator()() const in JSBigString.o
        facebook::react::JSBigFileString::c_str() const in JSBigString.o
        facebook::react::JSCExecutor::~JSCExecutor() in JSCExecutor.o
        facebook::react::JSCExecutor::callNativeModules(facebook::react::Value&&) in JSCExecutor.o
        std::__1::enable_if<(std::is_floating_point<double>::value) && (IsSomeString<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::value), void>::type folly::toAppend<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, double>(double, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, double_conversion::DoubleToStringConverter::DtoaMode, unsigned int) in JSCExecutor.o
        ...
  ld: symbol(s) not found for architecture x86_64
  clang: error: linker command failed with exit code 1 (use -v to see invocation)

【问题讨论】:

  • 您好像不见了glog
  • 这可能是一切,但我知道这通常发生在您尝试运行具有仅与真实设备(无模拟器)兼容的框架的项目时...
  • 我在一个项目中遇到了同样的问题,glog 是项目中的一个 pod,链接器似乎找不到它?

标签: ios xcode


【解决方案1】:

在 pod 内部,在目标下,然后单击 React,然后构建阶段 > 将 Binary 与库链接,添加 DoubleConversion.Framework 和 glog.framework 和 Folly.framework。每当您进行 pod 更新时,请确保将它们添加到 react 依赖项下,然后运行。

【讨论】:

    【解决方案2】:

    在 React.podspec 你需要改变

    ss.compiler_flags       = folly_compiler_flags
    

    ss.dependency             "DoubleConversion"
    ss.dependency             "GLog"
    ss.compiler_flags       = folly_compiler_flags
    

    3 部分

    ps:GLog 或 glog

    【讨论】:

      【解决方案3】:

      我在 2 月 12 日也面临同样的问题。所以我在Github 上针对这个问题打开了一个问题。

      有解决此问题的方法。

      在@CocoaPods 项目中手动添加 DoubleConversion 和 glog 到 Link Binary With Libraries of React 框架目标。

      这个问题在 RN 0.58.4 中修复

      【讨论】:

        【解决方案4】:

        当我阅读错误消息时,解决方案非常简单......

        只需将 x86_64 架构添加到您的依赖项即可。我还没有,因为我将 React-Native 添加到现有的 ios 应用程序中,它与应用程序有一些差异,应用程序默认使用 React-Native 创建。 React-logger -> Build Settings -> Architectures

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2019-03-10
          • 2015-12-16
          • 1970-01-01
          • 2018-07-18
          • 2015-10-27
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多