(Chromium для Android) Как добавить готовую общую библиотеку (.so) без исходного кода GN/NINJA?
Я работаю над исходным кодом хрома для Android: пытаюсь разработать некоторые функции в Webkit.
Что я сделал: (1) Создайте test.cpp / test.h в "third_party/WebKit/Source/core/frame": test.cpp включает addlib.h, вызывает функцию суммирования в addlib.so(создайте на следующем шаге) (2) Создайте add.h и add.so в "third_party / WebKit / Source / core / frame" с помощью "g++ -fPIC -shared addlib.cpp -o addlib.so" (addlib.so предоставляет только функцию суммирования два целых числа и возвращает результат)
blink_core_sources("frame") {
sources = [
"BarProp.cpp",
"BarProp.h",
"BrowserControls.cpp",
"BrowserControls.h",
"ContentSettingsClient.cpp",
.........
"csp/ContentSecurityPolicy.cpp",
"csp/ContentSecurityPolicy.h",
"csp/MediaListDirective.cpp",
"csp/MediaListDirective.h",
"csp/SourceListDirective.cpp",
"csp/SourceListDirective.h",
// my modification
"test.h",
"test.cpp",
"addlib.h"
]
// my modification
shared_library = [ ":addlib.so" ]
}
Моя цель: вызвать функцию в addlib.so в test.cpp
Но дайте мне сообщение об ошибке:
ERROR at //third_party/WebKit/Source/core/frame/BUILD.gn:170:20:Assignment had no effect.
shared_library = [ ":addlib.so" ]
^-----------
You set the variable "shared_library" here and it was unused before it went out of scope.
Есть какой-нибудь совет для меня? большое спасибо.