我重新问这个问题,有点扭曲:
当文件位于 LOCAL_PATH 的父目录中时,如何指定通配符模式?
比如说,文件是../../src/foo.cpp
and ../../src/bar.cpp
。
代码LOCAL_SRC_FILES := $(wildcard ../../src/*.cpp)
分配一个空字符串。
我重新问这个问题,有点扭曲:
当文件位于 LOCAL_PATH 的父目录中时,如何指定通配符模式?
比如说,文件是../../src/foo.cpp
and ../../src/bar.cpp
。
代码LOCAL_SRC_FILES := $(wildcard ../../src/*.cpp)
分配一个空字符串。
我找到了解决方案,但我不太确定问题出在哪里。
旧脚本:
LOCAL_PATH := $(call my-dir)
LOCAL_SRC_FILES := $(wildcard ../../src/*.cpp)
有效的新脚本:
LOCAL_PATH := $(call my-dir)/..
LOCAL_SRC_FILES := $(wildcard ../src/*.cpp)
我猜 my-dir 和通配符不是指同一个工作目录。
Android ndk 工具链期望在/jni
文件夹中找到 make 文件 (android.mk)。$(call my-dir)
似乎返回/jni
目录(因为那是 make 文件所在的位置)。不过$(wildcard )
似乎从当前目录看。
我不太确定我是否在这里,但实际上似乎是这样。
编辑:这是我在尝试使用通配符之前使用的工作脚本(只是为了解释为什么我最初做了我所做的)
LOCAL_PATH := $(call my-dir)
LOCAL_SRC_FILES := ../../src/foo.cpp \
../../src/bar.cpp