xcode - Xcode 7.1 中架构 armv7 的 undefined symbol

标签 xcode mobile unity3d vuforia armv7

我正在使用 Vuforia 和一个名为 Mobile Movie Textures 的 Unity 插件制作游戏。当我尝试构建我的 Xcode 项目时,一切都很顺利,直到它开始链接。我从同一个库中收到一堆错误,说它无法识别符号。

    Undefined symbols for architecture armv7:
  "_oc_idct8x8_arm", referenced from:
      _oc_state_frag_recon_arm in libtheorawrapper.a(armstate.o)
      _oc_state_accel_init_arm in libtheorawrapper.a(armstate.o)
  "_oc_idct8x8_1_arm", referenced from:
      _oc_state_frag_recon_arm in libtheorawrapper.a(armstate.o)
  "_oc_frag_recon_intra_arm", referenced from:
      _oc_state_frag_recon_arm in libtheorawrapper.a(armstate.o)
      _oc_state_accel_init_arm in libtheorawrapper.a(armstate.o)
  "_oc_pack_read1_arm", referenced from:
      _th_decode_packetin in libtheorawrapper.a(decode.o)
      _oc_huff_tree_unpack in libtheorawrapper.a(huffdec.o)
      _oc_quant_params_unpack in libtheorawrapper.a(dequant.o)
  "_oc_frag_recon_inter2_arm", referenced from:
      _oc_state_frag_recon_arm in libtheorawrapper.a(armstate.o)
      _oc_state_accel_init_arm in libtheorawrapper.a(armstate.o)
  "_oc_frag_copy_list_arm", referenced from:
      _oc_state_accel_init_arm in libtheorawrapper.a(armstate.o)
  "_oc_frag_recon_inter_arm", referenced from:
      _oc_state_frag_recon_arm in libtheorawrapper.a(armstate.o)
      _oc_state_accel_init_arm in libtheorawrapper.a(armstate.o)
  "_oc_loop_filter_frag_rows_arm", referenced from:
      _oc_state_accel_init_arm in libtheorawrapper.a(armstate.o)
  "_oc_huff_token_decode_arm", referenced from:
      _th_decode_packetin in libtheorawrapper.a(decode.o)
      _oc_sb_run_unpack in libtheorawrapper.a(decode.o)
  "_oc_pack_read_arm", referenced from:
      _th_decode_packetin in libtheorawrapper.a(decode.o)
      _oc_sb_run_unpack in libtheorawrapper.a(decode.o)
      _th_decode_headerin in libtheorawrapper.a(decinfo.o)
      _oc_unpack_length in libtheorawrapper.a(decinfo.o)
      _oc_huff_tree_unpack in libtheorawrapper.a(huffdec.o)
      _oc_quant_params_unpack in libtheorawrapper.a(dequant.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我可以让 armv7 arch 的设备不兼容,但它们占荷兰市场的 55%。

我不知道如何解决这个问题,你们能解决吗?

最佳答案

当前版本插件中的库 libtheorawrapper.a 已损坏,不包含所有需要的符号。

如果要使用该插件,则必须重新编译库。
为此,您需要结帐 this repository
.

然后编辑这个文件:
MMTPlugin/build/XCode/theorawrapper.xcodeproj/project.pbxproj
第 134 和 144 行的替换

/Users/dan/Documents/MobileMovieTexture/

使用您克隆 repo 的路径(例如):
/Users/MyUser/Code/git/MobileMovieTexture

然后,您可以使用 XCode 打开该项目并重新编译该库。

生成的文件将放置在:
MMTUnity/Assets/Plugins/iOS/libtheorawrapper.a

您应该将该文件复制到您的统一插件文件夹中:
Assets/Plugins/iOS/libtheorawrapper.a

关于xcode - Xcode 7.1 中架构 armv7 的 undefined symbol ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34290293/

相关文章:

objective-c - AVPlayer长歌缓冲问题

ios - IBDesignablesAgentCocoaTouch 和 Interface Builder Cocoa Touch Tool 正在占用我的 CPU

angularjs - 设备中的 ionic http get 请求返回状态 0

c# - 在 Unity 中使用 GestureRecogniser 双击全息镜头

c# - 在平面上获取随机 vector3

iPhone:-将图像裁剪为所需形状和大小的最简单方法

ios - Swift:当对象在一个区域内时运行代码

android - 从简单的 html5 + javascript 游戏创建 iOS 和 Android 应用程序?

android - 在移动设备上请求桌面站点选项

android - 统一开发构建有什么用(android)