仅在构建框架时,架构arm64的未定义符号

时间:2017-01-31 09:13:12

标签: c++ ios swift3

我正在尝试构建链接到第三方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文件复制到另一个应用程序项目并构建时,它可以正常工作。 我已经仔细检查了所有构建设置,两个项目中的一切都相同。 框架的代码是here

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

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

    ld: warning: ignoring file /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/usr/lib/libgcc_s.1.tbd, missing required architecture arm64 in file /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.2.sdk/usr/lib/libgcc_s.1.tbd (2 slices)

1 个答案:

答案 0 :(得分:0)

问题是随SDK提供的libpostprocess.a已经过时了。 我在网上找到了一个更新版本,它刚刚起作用。 :)