2016-05-30 6 views
2

OpenCV 2.4.13のリリースをGitHubからダウンロードしました。それから私はCMakeプロジェクトをCMake-guiを使ってアンドロイド用に設定しました。OpenCV ANDROID_ABI:すべての亜種が表示されていません

ANDROID_ABIという変数があり、ドロップダウンリストを使用して値を選択できます。しかし、このリストでは、VFP、armeabi-v7a、armeabi-v7aとNEON、armeabi-v7aとVFPV3の組み合わせでarmeabi、armeabi-v6のみを選択できます。

私はconfigureのためにCMakeコンソールを使い、arm64のプロジェクトを生成することができます。あるいは、cmakeスクリプトを変更して手動でリストすることができます。しかし、私は生成されたプロジェクトをビルドしようとすると、私はエラーunknown type name '__uint128_t'__uint128_tを取得します。だから、ドロップダウンリストからこのバリアントを選択できない理由があると思います。

ビルド用にarm64のバリアントを選んだのはなぜですか?そのような種類のエラーが発生するのはなぜですか?

答えて

3

あなたのツールチェーンには、armv8 64ビットオプションはありません。 しかし新しいOpenCVの3.0リリースがあり、そしておそらくあなたのuintエラーが修正されます:

http://opencv.org/downloads.html

あなたのツールチェインが64ビットをサポートしていない場合は、arm64のための独自のツールチェーンを作ることができます。

https://developer.android.com/ndk/guides/standalone_toolchain.html?hl=es

$NDK/build/tools/make-standalone-toolchain.sh \ 
--arch=arm --platform=android-21 --install-dir=/tmp/my-android-toolchain 

は、64ビット・サポートがアンドロイド5以上を持っているデバイス上で行われるため、cmakeのアンドロイドオプションで21(アンドロイド5.0.1)でandroid_native_levelを置くことを忘れないでください。

+0

あなたの回答をありがとう。私はOpenCV 3.1を使用することができますが、私が間違っていることを知りたいのです。 NDKを使ってOpenCVをコンパイルしたarm64 .soファイルをビルドできたら、私はarm64ツールチェインを持っているのでしょうか?今のところ私は他の問題があります。何とか私はcmakeターゲットプラットフォームをarm64に変更しましたが、現在OpenCV 2.4.13 arm64を問題なく構築していますが、どのようにアームプラットフォームに戻すのか分かりません。 – gomons

+0

cmakeでデフォルトのツールチェーンを使用すると、armeabiとarmv7(別バージョン)が用意されているので、好みのツールチェーンを選択できます。 このリンクを確認してくださいhttps://github.com/taka-no-me/android-cmake/blob/master/android.toolchain.cmake、アンドロイドのデフォルトのツールチェーンがあります。乾杯。 – uelordi

関連する問題