Когда я попытался скомпилировать мой XCode проект с OpenCV 2.4 IOS с помощью XCode 7 + IOS SDK 9, XCode жаловался, чтоКак скомпилировать OpenCV IOS с ENABLE_BITCODE
ld: 'opencv2.framework/opencv2(alloc.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
и отказался связать. После некоторого googling это turns out, потому что Apple добавила новую функцию с именем Bitcode для оптимизации приложений в App Store. Хотя двоичный файл OpenCV iOS не был обновлен, чтобы включить Bitcode, он не может пройти этап ссылки.
reference указал временное решение для отключения ENABLE_BITCODE
, поэтому связь может быть выполнена без битового кода. Это предотвратит компиляцию приложения для Apple Watches, потому что биткод является обязательным для приложений Watch. Поэтому мой вопрос: есть ли некоторые (наиболее простые) способы скомпилировать iOS OpenCV с включенным битовым кодом? (лучше с ссылкой для загрузки для скомпилированной фреймворка)
Я обнаружил, что новая версия opencv (версия 3.1) уже имеет флаг -fembed-bitcode в файле build_framwork.py – CSawy
@CSstudent Спасибо за головы! – grapeot
@grapeot Я выполнил те же шаги, но столкнулся с проблемами в качестве шага 4. Помогите мне. Я могу показать вам журналы, но они превышают лимит символов. Так что не могу писать. –