2014年1月28日火曜日

OpenCV for iOS 1/27, 2014 ビルド

1/27, 2014現在のgitリポジトリからダウンロードした
OpenCV はiOS向けにはそのままだとビルドできません。
そのための修正をメモ 


ソース修正

https://stackoverflow.com/questions/16983696/how-to-build-opencv-2-4-9-for-ios/17025423#17025423

対象ファイルの指定行を追加修正

3rdParty/libjpeg/CMakeLists.txt:12, jmemansi.c をビルドから除く(これはすでに適応済み?)

if(ANDROID OR IOS)
  ocv_list_filterout(lib_srcs jmemansi.c)
else()
  ocv_list_filterout(lib_srcs jmemnobs.c)
endif() 
 
modules/world/CMakeLists.txt:105 追加
ocv_list_filterout(objlist jmemansi) # <<= dirty fix
 
 

arm64対応

https://stackoverflow.com/questions/18976893/how-to-compile-opencv-for-ios7-arm64 

arm64ビルドは諦めて、armv7, armv7sのみのビルドに変更する

opencv/3rdparty/zlib/ にある gzlib.c, gzread.c, gzwrite.c  のincludeに追加

#include <unistd.h>
 
opencv/platforms/ios/build_framework.py  行99、100: 変更

targets = ["iPhoneOS", "iPhoneOS", ""iPhoneSimulator", "iPhoneSimulator"] 
archs = ["armv7", "armv7s", "i386", "x86_64"]

arm64を削除します
なくても、iPhone5sでも動く(プロジェクトがarmv7,armv7sでビルドされる場合)ので取りあえずなしでビルド




ビルドする


ビルド環境のパスを通す
sudo ln -s /Applications/Xcode.app/Contents/Developer /Developer
 
cmakeない場合は、portからinstall
sudo port install cmake

 
ビルド
python platforms/ios/build_framework.py ios



※モバイル系の記事は人気あるなあ

0 件のコメント: