我目前正在使用JNI为Android应用程序开发Java项目。我的项目需要使用外部库,这些库以.h / .cpp文件的形式存储在项目文件夹之外的计算机上。
我通过创建“链接文件夹”包含了包含所需文件的文件夹。我的问题是这些文件夹还包含不需要包含的文件。这些文件也在编译,尽管我没有在Android.mk中提及它们
我尝试使用属性手动排除它们 - > C / C ++ Build - >从构建中排除,但它不起作用,我从eclipse中得到NullPointer错误。
我能做什么?谢谢。
答案 0 :(得分:0)
如果您要编译目录中的大多数文件而只是排除其中一些文件,则可以使用wildcard
,然后使用filter-out
排除文件:
# set SRC_FILES_LIST to all the .cpp files in $(LOCAL_PATH)/foo/bar/
SRC_FILES_LIST := $(wildcard $(LOCAL_PATH)/foo/bar/*.cpp)
# exclude $(LOCAL_PATH)/foo/bar/baz.cpp
SRC_FILES_LIST := $(filter-out $(LOCAL_PATH)/foo/bar/baz.cpp, $(SRC_FILES_LIST))
# set LOCAL_SRC_FILES to the files in SRC_FILES_LIST, without the initial $(LOCAL_PATH)/
LOCAL_SRC_FILES := $(SRC_FILES_LIST:$(LOCAL_PATH)/%=%)