所以我正在努力在 Android Studio 2.2.2 中构建一个 NDK 示例。该项目使用 clapack(一个数学库),它还有一个与 clapack 文件夹处于同一级别的 testclapack.cpp。Android.mk 文件也在同一目录中。
Android.mk 文件的内容是:
LOCAL_PATH:= $(call my-dir)
export MAINDIR:= $(LOCAL_PATH)
include $(CLEAR_VARS)
include $(MAINDIR)/clapack/Android.mk
LOCAL_PATH := $(MAINDIR)
include $(CLEAR_VARS)
LOCAL_MODULE:= lapack
LOCAL_SHORT_COMMANDS := true
LOCAL_STATIC_LIBRARIES := tmglib clapack blas f2c
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_C_INCLUDES)
LOCAL_EXPORT_LDLIBS := $(LOCAL_LDLIBS)
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE:= testlapack
LOCAL_SRC_FILES:= testclapack.cpp
LOCAL_STATIC_LIBRARIES := lapack
include $(BUILD_SHARED_LIBRARY)
但是,Sync Gradle 会导致错误:
Gradle 同步失败:GNUMAKE:在编译步骤中只需要一个源文件:com.android.build.gradle.external.gnumake.CommandClassifier$NativeCompilerBuildTool@6fd7d241 但收到:D:/SDK/android/ndk-bundle/build//。 ./platforms/android-19/arch-arm/usr/include E:/test/lapack/app/src/main/jni/testclapack.cpp
我认为它与 Android.mk 有关,因为如果我删除 testlapack 的部分,那么 gradle 同步就可以了。
我需要一些关于如何使它们可以一起编译的帮助,因为我需要调用 testclapack.cpp 中的函数。