Androidも対象になっていたことに気がつきました。
なので今日はAndroid用のOpenCV2.2をセットアップしたいと思います。
svnクライアントとCmakeは既にインストールされていたので、
NDKとOpenCVのソースコードを取得することに。
NDKをAndroid developersからダウンロード。
現時点ではr5cになってました。
/home/kouji/Google/android-ndk-r5c に解凍。
ソースコードをダウンロード。
svn co https://code.ros.org/svn/opencv/trunk/opencv
SWIGをUbuntuソフトウェアセンターで検索。
swigをインストール。
Ant,JDK,AndroidSDKは既にあります。
NDKへのパスをエクスポート。
export ANDROID_NDK=~/Google/android-ndk-r5c
kouji@kouji-ubuntu:~/Google/opencv/android$ sudo sh ./scripts/cmake_android.sh
loading initial cache file ../CMakeCache.android.initial.cmake
-- Using default path for toolchain /opt/android-toolchain
-- If you prefer to use a different location, please define the environment variable: ANDROID_NDK_TOOLCHAIN_ROOT
CMake Error at android/android.toolchain.cmake:187 (message):
neither nor /opt/android-toolchain does not exist!
略)
と、いろいろとメッセージが出てきました。
ANDROID_NDK_TOOLCHAIN_ROOT も設定しないとダメみたいですね。
でも、Android-toolchainはどこにあるのやら。
OpenCVのWikiを調べていると、Android experimentalというもの中に、
cd android-cmake/scripts
./get_ndk_toolchain_linux.sh $WORK
という記載がありました。
ファイルをダウンロードして、
get_ndk_toolchain_linux.shの中身を見てみると、
cd $destination/android-ndk-r5b
NDK=`pwd`
$NDK/build/tools/make-standalone-toolchain.sh --platform=android-5 --install-dir=./android-toolchain
となっていました。
Android NDKのbuildフォルダ内にstandalone-toolchainを作るスクリプトがあるみたいです。
コマンドをちょっといじって、
cd ~/Google
./android-ndk-r5c/build/tools/make-standalone-toolchain.sh --platform=android-8 --install-dir=./android-toolchain
とやってみると、
Copying prebuilt binaries...
Copying sysroot headers and libraries...
Copying libstdc++ headers and libraries...
Copying files to: ./android-toolchain
Cleaning up...
Done.
toolchainができたようです。
このパスをExportします。
export ANDROID_NDK_TOOLCHAIN_ROOT=~/Google/android-toolchain
OpenCVのAndroidフォルダに移動して再チャレンジ。
もう一回
-- Using default path for toolchain /opt/android-toolchain
-- If you prefer to use a different location, please define the environment variable: ANDROID_NDK_TOOLCHAIN_ROOT
CMake Error at android/android.toolchain.cmake:187 (message):
neither nor /opt/android-toolchain does not exist!
まだtoolchainが見つからないようです。
ヘルプメッセージに載っていた、シンボリックリンクを作る方式に変更。
sudo ln -s ~/Google/android-ndk-r6c /opt/android-ndk-r5b
sudo ln -s ~/Google/android-toolchain /opt/android-toolchain
またチャレンジ
kouji@kouji-ubuntu:~/Google/opencv/android$ sudo sh ./scripts/cmake_android.sh
loading initial cache file ../CMakeCache.android.initial.cmake
-- Using default path for android NDK /opt/android-ndk-r5b
-- If you prefer to use a different location, please define the environment variable: ANDROID_NDK
-- Using default android API level android-8
~略~
-- GUI:
-- GTK+ 2.x: FALSE
-- GThread: FALSE
--
~略~
-- Install path: /opt/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/user/armeabi-v7a
--
-- cvconfig.h is in: /home/kouji/Google/opencv/android/build
-- -----------------------------------------------------------------
--
-- Configuring done
-- Generating done
-- Build files have been written to: /home/kouji/Google/opencv/android/build
kouji@kouji-ubuntu:~/Google/opencv/android$
Makefileができたー
cd build
sudo make -j8
5分ぐらいでビルド完了。
(ビルド中はPCの全コアが100%近く使われてました。makeはマルチコア対応のようです)
インストールします。
sudo make install
Installing: /opt/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/user/armeabi-v7a/share/opencv/3rdparty/lib/liblibtiff.a
等と表示され、ライブラリがインストールされました。
インストールは無事終わったようなので、今度サンプルを動かしてみたいと思います。
ではまた。
2011-06-21 追記
Android+OpenCV2.2の組み合わせで、独自のプロジェクトを作った場合の
使い方がよく分からず、結局Android+OpenCV1.1の組み合わせに戻ってしまいました。
残念。。。
2011-06-23
OpenCV2.3でもう一度挑戦したら、何とか出来ました。
2011-06-21 追記
Android+OpenCV2.2の組み合わせで、独自のプロジェクトを作った場合の
使い方がよく分からず、結局Android+OpenCV1.1の組み合わせに戻ってしまいました。
残念。。。
2011-06-23
OpenCV2.3でもう一度挑戦したら、何とか出来ました。
0 件のコメント:
コメントを投稿