OGeek|极客世界-中国程序员成长平台

标题: c++ - 仅在构建框架时架构 arm64 的 undefined symbol [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 18:47
标题: c++ - 仅在构建框架时架构 arm64 的 undefined symbol

我正在尝试构建链接到第 3 方 SDK(用 C++ 编写)的框架。 为 iPhone 6s 构建它时出现此错误:

Undefined symbols for architecture arm64:
  "_deblock_vert_lpf9", referenced from:
      _deblock_vert in libpostprocess.a(postprocess.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

但是,当我将这些相同的 SDK 文件复制到另一个应用项目并构建时,它工作正常。 我已经仔细检查了所有build设置,两个项目中的一切都是一样的。 该框架的代码是here .

  1. 有没有办法解决这个问题(除了从有效架构中删除 arm64)?
  2. 我可以告诉链接器不要使用这个特定的符号吗?

编辑 1

我不确定这是否相关,但我也看到一条警告:

ld:警告:忽略文件/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/usr/lib/libgcc_s.1.tbd,丢失文件/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/usr/lib/libgcc_s.1.tbd(2片)中所需的架构arm64



Best Answer-推荐答案


问题在于 SDK 提供的 libpostprocess.a 已过时。 我在网上找到了一个更新版本,它刚刚工作。

关于c++ - 仅在构建框架时架构 arm64 的 undefined symbol ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41953590/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4