2015-12-15 3 views
4

Я делаю игру с Vuforia и плагином Unity под названием Mobile Movie Textures. Когда я пытаюсь построить проект Xcode, все идет хорошо, пока не начнет связываться. Я получаю кучу ошибок из одной библиотеки, говоря, что она не распознает символы.Неопределенные символы для архитектуры armv7 в Xcode 7.1

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% от голландского рынка.

Я не знаю, как это исправить, может ли кто-нибудь из вас понять это?

+0

Набор строить активную архитектуру NO – pkc456

+0

Спасибо за предложение, но, к сожалению, она doens't работу. У меня все еще такая же ошибка. – Nils

+0

изменить настройки в настройках создания единства. я не помню точное имя, но, вероятно, вы создаете приложение только для «x64», установите его в «Universal». –

ответ

0

У меня такая же проблема сегодня утром, это проблема с последней версией плагина MMT: в основном, файл Assets/Plugins/iOS/libtheorawrapper.a не содержит всего, что нужно для архитектуры armv7. Я заменил его тем же файлом из предыдущей версии плагина (который, к счастью, у меня был в другом проекте), и все строит и ссылки снова.

В качестве дополнительной заметки этот файл перешел от 300 КБ до 1,8 МБ в последней версии, это тоже кажется неправильным для меня.

Я собираюсь отправить разработчику сообщение об этих проблемах, но не стесняйтесь это делать.

+0

Не могли бы вы отправить мне этот файл библиотеки?Вы бы спасли мою кожу – Nils

1

Библиотека libtheorawrapper.a в текущей версии плагина сломана и не содержит всех необходимых символов.

Если вы хотите использовать плагин, вам придется перекомпилировать библиотеку. Для этого вам необходимо зарегистрироваться this repository .

Затем отредактируйте этот файл: (., Например) MMTPlugin/сборки/XCode/theorawrapper.xcodeproj/project.pbxproj заменить на линии 134 и 144

/Users/dan/Documents/MobileMovieTexture/ 

с пути вы клонированных репо:

/Users/MyUser/Code/git/MobileMovieTexture 

Затем вы можете открыть этот проект с помощью XCode и перекомпилировать библиотеку.

Полученный файл будет размещен по адресу:

MMTUnity/Assets/Plugins/iOS/libtheorawrapper.a 

вы должны скопировать этот файл в единстве папку плагина:

Assets/Plugins/iOS/libtheorawrapper.a 
+0

, потребовалось довольно много времени, чтобы заставить ее работать, но она действительно работала, и, глядя на плагин, похоже, что она не будет обновлена ​​с исправлением, так что если кому-то еще понадобится файл библиотеки, работает, вы можете получить его здесь: https://www.dropbox.com/s/kp8u9ggzw6xxvit/libtheorawrapper.a?dl=0 – Luffen

0

Я просто имел эту проблему сегодня, и это, кажется, что все больше людей делают также.

Мне удалось зафиксировать файл библиотеки, чтобы он теперь работал. Просто замените его на один в Unity/плагинов/ИОС папку

здесь ссылку, чтобы загрузить его: https://www.dropbox.com/s/kp8u9ggzw6xxvit/libtheorawrapper.a?dl=0

Смежные вопросы