我通过这个Android.bp代码编译了我的库:
cc_library_shared {
name: "libult123",
shared_libs: [
"android.hardware.graphics.allocator@3.0",
"android.hardware.graphics.common@1.2",
"android.hardware.graphics.composer@2.4",
"libandroid",
"libbase",
"libbinder",
"libcutils",
"libEGL",
"libGLESv1_CM",
"libGLESv2",
"libgui",
"liblog",
"libnativewindow",
"libprotobuf-cpp-full",
"libsync",
"libtimestats",
"libui",
"libutils",
"libSurfaceFlingerProp",
],
static_libs: [
"android.hardware.graphics.composer@2.1",
"libglTest",
"libcompositionengine",
"libframetimeline",
"libperfetto_client_experimental",
"librenderengine",
"libserviceutils",
],
header_libs: [
"libnativewindow_headers",
],
cflags: [
"-DGL_GLEXT_PROTOTYPES",
"-Wall",
"-Werror",
"-Wno-unused-variable",
],
//local_src_files: ["ult_lib.h"],
local_include_dirs: ["include"],
export_include_dirs: ["include"],
srcs: ["ult_lib.cpp"],
}
字符串
库目录结构为:
/include/ult_lib.h
/ult_lib.cpp
型
我想在另一个应用程序C++代码中使用这个libult123库。类似于#include或类似的东西。
请告诉我如何将其包含在当前的Android.bp文件中,以便成功导入此编译库。用于编译第二个应用程序的当前Android.bp文件为:
cc_prebuilt_library_shared {
name: "libult123",
//srcs: ["lib64/libult123.so"],
target: {
android_arm: {
srcs: ["lib/libult123.so"],
},
android_arm64: {
srcs: ["lib64/libult123.so"],
},
},
strip: { none:true, },
}
cc_binary {
name: "ult_pre3",
srcs: [
"test_ult_with_import.cpp"
],
//gtest: true,
shared_libs: [
//"libult123",
//"abcascsad",
"android.hardware.configstore@1.1",
"android.hardware.graphics.allocator@3.0",
"android.hardware.graphics.common@1.2",
"android.hardware.graphics.composer@2.4",
"libandroid",
"libbase",
"libbinder",
"libcutils",
"libEGL",
"libfmq",
"libGLESv1_CM",
"libGLESv2",
"libgui",
"libhidlbase",
"liblayers_proto",
"liblog",
"libnativewindow",
"libprocessgroup",
"libprotobuf-cpp-full",
"libsync",
"libtimestats",
"libui",
"libinput",
"libutils",
"libSurfaceFlingerProp",
],
static_libs: [
"android.hardware.graphics.composer@2.1",
"libglTest",
"libcompositionengine",
"libframetimeline",
"libperfetto_client_experimental",
"librenderengine",
"libserviceutils",
],
header_libs: [
//"libult123",
"libnativewindow_headers",
],
cflags: [
"-DGL_GLEXT_PROTOTYPES",
"-Wall",
"-Werror",
"-Wno-unused-variable",
],
}
型
还尝试:
.......
/*
cc_prebuilt_library_shared {
name: "libult123",
//srcs: ["lib64/libult123.so"],
target: {
android_arm: {
srcs: ["lib/libult123.so"],
},
android_arm64: {
srcs: ["lib64/libult123.so"],
},
},
strip: { none:true, },
}
*/
cc_binary {
name: "ult_pre3",
srcs: [
"test_ult_with_import.cpp"
],
//gtest: true,
shared_libs: [
"libult123",
"android.hardware.configstore-utils",
"android.hardware.configstore@1.0",
.........
型
我面临的错误:
hardware/intel/external/ult_pre/test_ult_with_import.cpp:27:10: fatal error: 'libult123/ult_lib.h' file not found
#include <libult123/ult_lib.h>
^~~~~~~~~~~~~~~~~~~~~
1 error generated.
17:12:34 ninja failed with: exit status 1
型
1条答案
按热度按时间holgip5t1#
使用“cc_library_headers”创建一个库头,并使用“header_libs”包含它。
cc_library_headers { name:“libult123_header”,export_include_dirs:“./include”}
在应用程序构建中,cc_binary {.. snip.. header_libs:[“libult123_header”],.. snip..}