【问题标题】:Build error - targeted OS version does not support use of thread local variables构建错误 - 目标操作系统版本不支持使用线程局部变量
【发布时间】:2019-02-16 08:31:42
【问题描述】:

以下错误是什么意思?我以前从未见过这种情况。

d: 目标操作系统版本不支持使用线程局部变量 在架构 x86_64 的 __ZN12base_logging10LogMessage5FlushEv 中 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看 调用)

我将 cocoapod 用于 google cast sdk 并在 Xcode 10 beta 和 xcode 9.4 中构建。

【问题讨论】:

    标签: ios objective-c xcode cocoapods google-cast-sdk


    【解决方案1】:

    将部署目标更改为 9.0 对我有用

    打开 Xcode:

    1. 从目标中选择 YOUR_PROJECT_NAME
    2. 在部署信息选项卡下将部署目标更改为 9.0 或更高版本。

    希望对你有帮助!

    编辑:用于视觉/图像参考

    【讨论】:

    • 这没有解决我的问题,知道可能是什么原因吗?
    • 如果你使用VS,打开PLIST去应用程序并更改部署目标。
    【解决方案2】:

    您的项目尝试链接一些 C++ 代码,这些代码利用了并非所有 iOS 平台都支持的 C++11 概念。

    我认为thread_local 从 iOS 9 开始是允许的。尝试将部署目标设置为 iOS 9 或更高版本。

    违规代码在base_logging::LogMessage::Flush()

    【讨论】:

    • 是的,你是对的,这确实是问题所在。将部署目标更改为 iOS 9.0 即可解决问题。非常感谢!
    • 更改目标 -> 您的项目名称 -> 部署信息 -> 部署目标 -> 9.0 解决问题.. 如果您更改项目下的一个,则无法正常工作
    • 我只在 Xcode 10 上使用 konan,Xcode 9 上的同一个项目构建良好...更改部署目标并不能解决 Xcode 10 的问题。其他几个解决方案可以是在 github.com/JetBrains/kotlin-native/issues/2084 中找到,它们是特定于 konan 的
    • 上升的部署目标不是解决方案。
    • @Cy-4AH 也许提高部署目标对你来说不是一个选项,但它绝对是一个解决方案。
    【解决方案3】:

    如图所示,请将部署目标更改为 9.0。

    【讨论】:

      猜你喜欢
      • 2020-05-05
      • 1970-01-01
      • 2014-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多