在我的NDK应用程序中构建lintensorflow_core.a
之后,我尝试编译我的应用程序以使用tensorflow C ++库。该应用程序具有主Java层,与NDK组件通信。在那个NDK组件中,我希望这样调用tensorflow:using namespace ::tensorflow::ops; // NOLINT(build/namespaces)
我已经看到了一些关于如何使用Android.mk
文件进行操作的链接。但显然,在新版本的android studio中不再创建。如果可以使用Android.mk
和ndk-build
命令,那么这也很棒。但是,Android.mk
和ndk-build
的组合也让我失望了。输出基本上没什么。
我确实有很多Android.mk文件的变体,其中一个是:
LOCAL_PATH := $(call my-dir)
TENSORFLOW_HOME := $(LOCAL_PATH)/../../../../../tensorflow
TENSORFLOW_CORE := $(LOCAL_PATH)/../../../../../tensorflow/tensorflow/core
TENSORFLOW_OPS := $(LOCAL_PATH)/../../../../../tensorflow/tensorflow/core/ops
include $(CLEAR_VARS)
LOCAL_MODULE := tensorflow
LOCAL_SRC_FILES := $(TENSORFLOW_HOME)/tensorflow/contrib/makefile/gen/lib/android_armeabi-v7a/libtensorflow-core.a
LOCAL_LDLIBS := -static -Wl,--build-id -Wl,--allow-multiple-definition -Wl,--whole-archive
LOCAL_CFLAGS := -std=c++11 -I$(TENSORFLOW_HOME)
LOCAL_C_INCLUDES := $(TENSORFLOW_OPS)
TARGET_ARCH_ABI := armeabi
include $(PREBUILT_STATIC_LIBRARY)
但这完全失败了。有人能指出我正确的方向吗?