cc_prebuilt_library_shared 模块无法识别 属性 "cflags"
unrecognized property "cflags" for cc_prebuilt_library_shared module
我正在为其中一个预构建库编写 Android.bp
文件。在 Android.mk
中,可以为预构建库添加 CFlags;然而,在蓝图的情况下,即 Android.bp
,同样不起作用。下面是我正在做的事情的片段:
cc_prebuilt_library_shared {
name: "samplelib",
vendor_available:true,
cflags: [
"-Wall",
"-Wextra",
"-Werror",
],
tags: [
"optional",
"eng",
"debug",
],
target: {
android_x86:{
srcs: ["bin/x86/samplelib.so"],
compile_multilib: "32",
relative_install_path: "lib",
},
android_x86_64:{
srcs: ["bin/x86_64/samplelib.so"],
compile_multilib: "64",
relative_install_path: "lib64",
},
},
}
但是我收到以下错误:
/Android.bp:5:11: unrecognized property "cflags"
所以如果我没理解错的话,cflags
不能和cc_prebuilt_library_shared
模块一起使用;如果是这样的话,我们如何为这个模块启用 CFlags
呢?
这听起来可能不相关;但解决方法是将 LOCAL_STRIP_MODULE
设置为 None 并从 Android.bp
文件中删除 cflags
。所以工作片段看起来像这样:
cc_prebuilt_library_shared {
name: "samplelib",
vendor_available:true,
tags: [
"optional",
"eng",
"debug",
],
target: {
android_x86:{
srcs: ["bin/x86/samplelib.so"],
compile_multilib: "32",
relative_install_path: "lib",
},
android_x86_64:{
srcs: ["bin/x86_64/samplelib.so"],
compile_multilib: "64",
relative_install_path: "lib64",
},
},
strip: {
none:true,
},
}
注意设置为 none 和 cflags
的 "strip"
属性也被删除。
注意:"strip"
属性是 makefile LOCAL_STRIP_MODULE
的蓝图版本。
为预构建的二进制文件设置 cflags
没有多大意义。它们在构建 C/C++ 文件时提供给编译器。由于您的库已经构建,因此您不需要它们。
我正在为其中一个预构建库编写 Android.bp
文件。在 Android.mk
中,可以为预构建库添加 CFlags;然而,在蓝图的情况下,即 Android.bp
,同样不起作用。下面是我正在做的事情的片段:
cc_prebuilt_library_shared {
name: "samplelib",
vendor_available:true,
cflags: [
"-Wall",
"-Wextra",
"-Werror",
],
tags: [
"optional",
"eng",
"debug",
],
target: {
android_x86:{
srcs: ["bin/x86/samplelib.so"],
compile_multilib: "32",
relative_install_path: "lib",
},
android_x86_64:{
srcs: ["bin/x86_64/samplelib.so"],
compile_multilib: "64",
relative_install_path: "lib64",
},
},
}
但是我收到以下错误:
/Android.bp:5:11: unrecognized property "cflags"
所以如果我没理解错的话,cflags
不能和cc_prebuilt_library_shared
模块一起使用;如果是这样的话,我们如何为这个模块启用 CFlags
呢?
这听起来可能不相关;但解决方法是将 LOCAL_STRIP_MODULE
设置为 None 并从 Android.bp
文件中删除 cflags
。所以工作片段看起来像这样:
cc_prebuilt_library_shared {
name: "samplelib",
vendor_available:true,
tags: [
"optional",
"eng",
"debug",
],
target: {
android_x86:{
srcs: ["bin/x86/samplelib.so"],
compile_multilib: "32",
relative_install_path: "lib",
},
android_x86_64:{
srcs: ["bin/x86_64/samplelib.so"],
compile_multilib: "64",
relative_install_path: "lib64",
},
},
strip: {
none:true,
},
}
注意设置为 none 和 cflags
的 "strip"
属性也被删除。
注意:"strip"
属性是 makefile LOCAL_STRIP_MODULE
的蓝图版本。
为预构建的二进制文件设置 cflags
没有多大意义。它们在构建 C/C++ 文件时提供给编译器。由于您的库已经构建,因此您不需要它们。