Kiedy próbowałem skompilować mojego projektu Xcode z OpenCV 2.4 iOS przy użyciu XCode 7 + iOS SDK 9, XCode narzekali, żeJak skompilować OpenCV iOS z 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)
i odmówił połączyć. Po pewnym uruchomieniu go w serwisie, to znaczy, że Apple dodał nową funkcję o nazwie Bitcode do optymalizacji aplikacji w sklepie App Store. Podczas gdy binarny system OpenCV iOS nie został zaktualizowany tak, aby zawierał kod Bitcode, nie może przejść etapu połączenia.
Pewne reference wskazało tymczasowe rozwiązanie, aby wyłączyć ENABLE_BITCODE
, więc łączenie można zrobić bez Bitcode. Zapobiegnie to kompilacji aplikacji dla zegarków Apple, ponieważ Bitcode jest obowiązkowe w przypadku aplikacji do oglądania. Dlatego moje pytanie brzmi, czy są jakieś (najlepsze łatwe) sposoby kompilacji iOS OpenCV z włączonym Bitcodem? (lepiej z linkiem pobierania dla skompilowanego środowiska)
Zauważyłem, że nowa wersja opencv (wersja 3.1) ma już flagę -fembed-bitcode w pliku build_framwork.py – CSawy
@CSstudent Dzięki za heads up! – grapeot
@grapeot Podążałem tymi samymi krokami, ale w obliczu problemów jak krok 4. Uprzejmie mi pomóż. Mogę pokazać ci logi, ale przekraczają limit znaków. Więc nie mogę pisać tutaj. –