我正在做一个原生项目示例。 我有两个make文件,一个是Android1.mk,另一个是Android2.mk。 第二个放在项目文件夹之外。我的android studio项目位于
H:/ Ndk_Dev /演示
Android1.mk位于
H:/ Ndk_Dev /演示/应用程序/ SRC /主/ JNI
和Android2.mk位于
H:/ Ndk_Dev / externalJni
Android1.mk包含。
LOCAL_PATH := $(call my-dir)
MY_ROOT_PATH := $(abspath $(LOCAL_PATH)/../../../../../)
.......
.......
.......
include $(MY_ROOT_PATH)/externalJni/Android2.mk
但在编译时,我得到的路径是
LOCAL_PATH -------> H:/Ndk_Dev/Demo/app/src/main/jni
MY_ROOT_PATH -------> H:/Ndk_Dev/Demo/app/src/main/H:/Ndk_Dev
因此它指向Android2.mk的无效路径
H:/Ndk_Dev/Demo/app/src/main/H:/Ndk_Dev/externalJni/Android2.mk
根据我的理解,MY_ROOT_PATH
应为H:/Ndk_Dev
有人知道在Windows上调用$(abspath)有任何问题。
答案 0 :(得分:0)
您应该按以下方式调用
MY_ROOT_PATH := $(abspath ../../../../../)
它对我有用。