我正在为一个预构建库编写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
呢?
发布于 2019-06-25 12:56:31
这听起来可能与此无关;但是修复将LOCAL_STRIP_MODULE
设置为None,并将cflags
从Android.bp
文件中删除。因此,工作片段看起来如下:
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,
},
}
注意,"strip"
属性设置为none,cflags
也被移除。
注意:"strip"
属性是makefile.的 LOCAL_STRIP_MODULE
的蓝图版本
发布于 2019-07-10 14:19:05
为预构建的二进制文件设置cflags
没有多大意义。它们是在编译C/C++文件时提供给编译器的。既然您的库已经构建好了,您就不应该需要它们了。
https://stackoverflow.com/questions/56747995
复制相似问题