【问题标题】:dyld: Symbol not found: ___chkstk_darwindyld:找不到符号:___chkstk_darwin
【发布时间】:2020-02-13 23:52:36
【问题描述】:

将 Xcode 升级到版本 11.1 (11A1027) 后,我的 iOS 应用 (MyApp) 在 Xcode 开始运行时崩溃并出现以下运行时错误:

dyld:未找到符号:___chkstk_darwin 引用自:/var/containers/Bundle/Application/xxxxxxxxxx/MyApp.app/MyApp 预期在:/usr/lib/libSystem.B.dylib

MacOS:莫哈韦 10.14.6 (18G103) Xcode: 11.1 (11A1027) 目标设备:iPhone 6 Plus 目标设备 iOS:12.4.2

在 Xcode 10.3 中没有任何问题。 任何帮助,cmets 将不胜感激。 提前致谢。

【问题讨论】:

  • 我在类似的设置中遇到了同样的问题。与面向 12.4 的应用程序相同的 Xcode 版本。对我来说唯一的区别是我的目标是 iPhone 8。感觉像是 SDK 版本不匹配的问题。
  • 有更新。我对装有 iOS 13.1.2 的 iPhone 6S 进行了相同的测试,然后完全没有问题。

标签: xcode xcode11


【解决方案1】:

在我的情况下,这个问题是 XCODE 版本 13.2.1 的错误。然后我将版本 xcode 降级到 13.1 可以解决这个问题,我可以运行 app os 12.x.x 。

【讨论】:

    【解决方案2】:

    对我来说,这是因为该应用程序使用的库之一是为较新的 iOS 版本构建的。将 iOS 部署目标更改为 12.2 修复了崩溃问题。

    【讨论】:

      【解决方案3】:

      当我在 MacOS 10.15 上用 VLA 编译 C 程序然后在 10.13 上运行它时,这发生在我身上。如果这就是您的原因,请改用malloc()

      【讨论】:

      • 将部署目标设置为 10.13 可以解决问题。
      【解决方案4】:

      我想我找到了问题所在。我使用 CMake 生成我的 Xcode 项目,由于某种原因,CMake 很难在项目上设置 Base SDK 选项。

      如果我手动将 Base SDK 设置为 iOS,它似乎可以正常构建和运行

      【讨论】:

      • 在我回复您的第一条评论后,我找到了您的答案。非常感谢您的回答。在 Xcode11 中项目的构建设置中,体系结构和基础 SDK 设置看起来都正确。由于我没有使用过CMake,请问如何将你在CMake中的解决方案应用到Xcode11上?
      • 我的问题是 CMake 在生成 Xcode 项目时没有正确设置此 Base SDK 属性。问题与 Xcode 10.3 相同,但 Xcode 通过报告无法启动应用程序来响应失败。如果即使 Base SDK 字段设置正确,您也遇到了同样的问题,那么我们似乎从不同的角度遇到了同样的问题 :(
      • 我在 Xcode11 设置中发现了问题。我的项目包含几个静态库,这些库也是在目标构建期间构建的。不知何故,在将 Xcode 从 v10.3 迁移到 v11.1 之后,一些(不是全部)库项目中的目标 iOS 设置已隐式更改为 iOS 13.1。这会导致与某些运行时函数(即 chkstk_darwin)有关的 iOS SDK 冲突问题。我不得不手动搜索“受影响”的库项目并将它们的目标 iOS 设置改回 12.4。然后问题在 Xcode11 中得到解决。感谢您的回复。非常感谢。
      猜你喜欢
      • 2015-05-02
      • 2020-04-18
      • 2016-06-01
      • 2021-12-30
      • 2020-07-22
      • 2019-08-18
      • 2017-01-29
      • 2019-01-01
      • 1970-01-01
      相关资源
      最近更新 更多