Я нашел решение, но я не совсем уверен, в чем проблема.
Старый сценарий:
LOCAL_PATH := $(call my-dir)
LOCAL_SRC_FILES := $(wildcard ../../src/*.cpp)
Новый скрипт, который работает:
LOCAL_PATH := $(call my-dir)/..
LOCAL_SRC_FILES := $(wildcard ../src/*.cpp)
Я предполагаю, что мой-Dir и подстановочные не относятся к той же директории.
Android ndk toolchain рассчитывает найти файл make (android.mk) в папке /jni
. $(call my-dir)
, похоже, возвращает каталог /jni
(потому что там находится файл make). Однако $(wildcard)
, похоже, выглядит из текущего каталога.
Я не совсем уверен, что я здесь, но, похоже, это так.
EDIT: А вот рабочий сценарий, который я использовал до этого попытки с групповым символом (только объяснить вам, почему я изначально сделал то, что я сделал)
LOCAL_PATH := $(call my-dir)
LOCAL_SRC_FILES := ../../src/foo.cpp \
../../src/bar.cpp
Если вы получите пустую строку, это означает, что ваш путь неправильно. Что происходит, когда в том же каталоге, где выполняется make (помните, что это может быть _not_ быть каталогом, в котором находится makefile!) Вы запускаете 'ls ../../*. Cpp'? – MadScientist