(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.

Есть какой-нибудь совет для меня? большое спасибо.

0 ответов

Другие вопросы по тегам