Android NDKとインテルTBBを搭載したAndroidアプリを開発するための作業用の.soライブラリを取得する際にいくつかの重大な問題を発見しました。 基本的に私はAndroid用のバージョン4.4 Update 4バンドルをダウンロードし、そこにある手順に従っています(ドキュメントが正しくないので...)。Android用のインテルTBBをコンパイルする - ARMv7 ARMv8 MIPS
問題は、armelabi-XXXまたはmipsフォルダに必要な.soがないため、コンパイル時にx86およびx86_64 .soライブラリしか取得できないという問題です。
提案コマンド./ndk-build.cmd tbb target=android arch=arm
を使用すると、何も生産しない、実際には見られないライブラリ/workspace/tbb44_20160413oss/lib/android/mips/libtbb.so
私に語りました。ライブラリのmipsバージョンを/ home/filippo/workspace/tbb44_20160413oss/lib/android/mipsフォルダにコピーしてビルドを有効にします。
他の欠落しているディレクトリについても同じです。
私はAndroidスタジオで使用することができ、エミュレータで動作するx86とx86_64のキューを提供します。./ndk-build.cmd tbb target=android
私はエミュレータで自分のアプリケーションを正しくテストすることはできますが、私のパーソナルデバイスでは動作させることはできません。 私はここで何が欠けていますか?
Application.mk
APP_ABI := x86 x86_64 // if I choose all, of course it won't find the .so for the other architectures
APP_GNUSTL_FORCE_CPP_FEATURES := exceptions rtti
APP_STL := gnustl_shared
Android.mk
LOCAL_PATH := $(call my-dir)
#
# TBB
#
include $(CLEAR_VARS)
LOCAL_MODULE := libtbb
LOCAL_SRC_FILES := $(LOCAL_PATH)/$(TARGET_ARCH_ABI)/libtbb.so
include $(PREBUILT_SHARED_LIBRARY)
#
# Main module
#
include $(CLEAR_VARS)
LOCAL_MODULE := myndkapp
LOCAL_SHARED_LIBRARY := libtbb
include $(BUILD_SHARED_LIBRARY)
感謝。
こんにちは、返信いただきありがとうございます:
また、それはあなたがこのようなあなたのmakeコマンドに
tbb_os=windows
を追加する必要がありますので、Windowsプラットフォーム上に構築しようとしているように見えます。私は詳細を見てきましたが、プロジェクトのルートの中に/ srcディレクトリはありません。つまり、/ tbb44_20160413oss/srcは存在しません。また、Application.mkファイルに/ jniフォルダもありません。 私は現在Linux Mint x64で動作しています! – fiipi私がそこにコピーした2つのファイルは、自分のプロジェクトのファイルです。プロジェクトのディレクトリに/ tbb44_20160413oss/lib/androidで見つかった.soをコピーしましたが、そこに述べたように、すべてのアーキテクチャ... – fiipi
https://www.threadingbuildingblocks.org/downloadから_Source_パッケージをダウンロードしてください。 バイナリパッケージがあるようです。 –