我正在用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拱门的设备不兼容,但它们占据了荷兰市场55%的份额。
我不知道怎么解决这个问题,你们中有谁能弄明白吗?
发布于 2016-03-15 21:18:31
当前版本插件中的库libtheorawrapper.a已损坏,并且不包含所有需要的符号。
如果你想使用这个插件,你必须重新编译库。要做到这一点,您需要检查this repository。
然后编辑此文件:在第134行和第144行上执行MMTPlugin/build/XCode/theorawrapper.xcodeproj/project.pbxproj an replace
/Users/dan/Documents/MobileMovieTexture/使用您克隆的存储库的路径(例如):
/Users/MyUser/Code/git/MobileMovieTexture然后,您可以使用XCode打开该项目并重新编译库。
生成的文件将放置在:
MMTUnity/Assets/Plugins/iOS/libtheorawrapper.a您应该将该文件复制到unity插件文件夹中:
Assets/Plugins/iOS/libtheorawrapper.a发布于 2015-12-16 04:34:30
今天早上我遇到了同样的问题,这是最新版本的MMT插件的问题:基本上,Assets/Plugins/iOS/libtheorawrapper.a文件没有包含armv7架构应该包含的所有内容。我用以前版本的插件中的相同文件替换了它(幸运的是,我在另一个项目中有这个文件),然后一切都会再次构建和链接。
顺便说一句,这个文件从之前的300KB到最新版本的1.8MB,这在我看来也是错误的。
我正要给开发人员发邮件,告诉他们这些问题,不过你也可以这么做。
发布于 2016-09-16 21:24:59
我今天才有这个问题,似乎更多的人也有这个问题。
我成功地修复了库文件,现在它可以工作了。只需将其替换为Unity/plugins/ios文件夹中的
这里有一个下载链接:https://www.dropbox.com/s/kp8u9ggzw6xxvit/libtheorawrapper.a?dl=0
https://stackoverflow.com/questions/34290293
复制相似问题