我正在制作一款需要GLM lib的3D应用程序。我的NDK目录包含GLM lib源代码,因此我尝试使用以下命令链接它:
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../../../../Android/SDK/ndk-bundle/sources/third_party/vulkan/src/libs
我想这样做:
LOCAL_C_INCLUDES += Android/SDK/ndk-bundle/sources/third_party/vulkan/src/libs
我在Android doc上发现LOCAL_C_INCLUDES是相对于NDK根目录的。 link
文档有点令人困惑,它提到了NDK的根目录,但给出了应用程序的本地目录(您的本机模块所在的位置)的示例。
我的问题是:
提前谢谢你,
答案 0 :(得分:0)
验证图层的NDK测试显示了如何导入它们:https://android.googlesource.com/platform/ndk/+/ccb50936470af0c6ccf35bc463a0723b637fd1cd/tests/build/vulkan_layers/jni/Android.mk#12
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := vulkan
LOCAL_SRC_FILES := instance.cpp
LOCAL_CFLAGS := -std=c++11 -DVK_PROTOTYPES
LOCAL_LDLIBS := -lvulkan
LOCAL_STATIC_LIBRARIES := shaderc glslang
include $(BUILD_EXECUTABLE)
$(call import-module,third_party/shaderc)
$(call import-module,third_party/vulkan/src/build-android/jni)