4

我重新问这个问题,有点扭曲:

当文件位于 LOCAL_PATH 的父目录中时,如何指定通配符模式?

比如说,文件是../../src/foo.cppand ../../src/bar.cpp

代码LOCAL_SRC_FILES := $(wildcard ../../src/*.cpp)分配一个空字符串。

4

1 回答 1

2

我找到了解决方案,但我不太确定问题出在哪里。

旧脚本:

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
于 2012-04-24T08:58:15.693 回答