gq3*_*gq3 50 android android-ndk
我正在尝试使用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)
Run Code Online (Sandbox Code Playgroud)
有没有办法允许我指定目录中的所有*.cpp文件,而不在LOCAL_SRC_FILES下手动列出它们?
到目前为止,我尝试使用LOCAL_SRC_FILES = $(通配符*.cpp),但现在它确实有效,似乎没有文件被选中.
DRi*_*FTy 73
你可以试试这样的......
FILE_LIST := $(wildcard $(LOCAL_PATH)/[DIRECTORY]/*.cpp)
LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)
Run Code Online (Sandbox Code Playgroud)
...切换[DIRECTORY]到文件的实际目录.如果它们与您的.mk文件位于同一目录中,则删除该部分.创建FILE_LIST变量以查找.cpp目录下的所有文件[DIRECTORY].然后在文件列表中使用它.LOCAL_SRC_FILES然后该行将从LOCAL_PATH列表中删除.
NiT*_*Luo 21
我一直在使用这个脚本为我的Android.mk节省了我这么多时间!
#traverse all the directory and subdirectory
define walk
$(wildcard $(1)) $(foreach e, $(wildcard $(1)/*), $(call walk, $(e)))
endef
#find all the file recursively under jni/
ALLFILES = $(call walk, $(LOCAL_PATH))
FILE_LIST := $(filter %.cpp, $(ALLFILES))
LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)
Run Code Online (Sandbox Code Playgroud)
这是要点
| 归档时间: |
|
| 查看次数: |
33258 次 |
| 最近记录: |