.cc和.cpp文件放在一个文件夹中,利用android 11源码构建平台进行构建,出错。
报错信息:
[ 76% 708/920] including apps/Wheeljack/app/src/main/jni/Android.mk ...
FAILED:
apps/Wheeljack/app/src/main/jni//gabi++/sources.mk: error: stlport_static: Files ending in .cpp .cc.arm are deprecated. See https://android.googlesource.com/platform/build/+/master/Changes.md#file_arm
In file included from out/soong/Android-aosp_blueline.mk:754200:
In file included from apps/Wheeljack/app/src/main/jni/Android.mk:16:
In file included from apps/Wheeljack/app/src/main/jni/libstlport/Android.mk:117:
In file included from build/make/core/static_library.mk:17:
In file included from build/make/core/static_library_internal.mk:21:
文档说明点:
https://android.googlesource.com/platform/build/+/master/Changes.md#file_arm
*.c.arm/*.cpp.arm弃用
在 Android.mk 文件中,您过去可以通过.arm将LOCAL_SRC_FILES.
Soong 不支持这种不常用的行为,而是希望将这些文件拆分到一个单独的静态库中,arm该thumb库为整个库选择。这现在也必须在 Android.mk 文件中完成。
问题文件:
build/make/core/binary.mk:859
问题点:
ifneq ($(filter %$(LOCAL_CPP_EXTENSION).arm,$(my_src_files)),)
$(call pretty-error,Files ending in $(LOCAL_CPP_EXTENSION).arm are deprecated. See $(CHANGES_URL)#file_arm)
endif
问题说明:默认my_src_files文件的后缀名都相同。但是我们的项目有.cc 和.cpp两种后缀名。所以LOCAL_CPP_EXTENSION的值为.cpp .cc,所以filter过滤条件是.cpp .cc.arm。导致以.cpp结尾文件都报错。