我正在尝试使用ndk构建Android项目,但遇到了一些问题。
这是可以正常工作的Android.mk文件:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := mylib
LOCAL_CFLAGS := -Werror
LOCAL_SRC_FILES := main.cpp, Screen.cpp, ScreenManager.cpp
LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)
有没有一种方法可以让我指定目录中的所有*.cpp文件,而不需要在LOCAL_SRC_FILES下手动列出它们?
到目前为止我尝试使用LOCAL_SRC_FILES = $(wildcard *.cpp),但是它并没有起作用,似乎没有选择任何文件。
LOCAL_PATH
? - NarekAndroid.mk
文件顶部必须定义LOCAL_PATH := $(call my-dir)
。这将保存从你的 NDK 根目录到当前文件的相对路径。因此,在上面的LOCAL_SRC_FILES
行中,我从列表中删除了LOCAL_PATH
,因为文件路径是相对于LOCAL_PATH
的。如果不删除,路径将无效。 - DRiFTyFILE_LIST
中的每个文件路径中删除LOCAL_PATH
。这基本上使得LOCAL_SRC_FILES
列表仅包含相对于您的文件的路径。 - DRiFTy