Compilando no Android
Crie duas regras de geração: uma para gerar o cabeçalho CXX e outra para gerar o arquivo de origem CXX. Estes são então usados como entradas para a cc_library_static
.
// Gera um cabeçalho C++ contendo as vinculações C++
// para as funções exportadas do Rust em lib.rs.
genrule {
name: "libcxx_test_bridge_header",
tools: ["cxxbridge"],
cmd: "$(location cxxbridge) $(in) --header > $(out)",
srcs: ["lib.rs"],
out: ["lib.rs.h"],
}
// Gera o código C++ que o Rust chama.
genrule {
name: "libcxx_test_bridge_code",
tools: ["cxxbridge"],
cmd: "$(location cxxbridge) $(in) > $(out)",
srcs: ["lib.rs"],
out: ["lib.rs.cc"],
}
- A ferramenta
cxxbridge
é uma ferramenta independente que gera o lado C++ do módulo bridge. Ele está incluído no Android e está disponível como uma ferramenta Soong. - Por convenção, se o seu arquivo de origem Rust for
lib.rs
, seu arquivo de cabeçalho será chamadolib.rs.h
e seu arquivo de origem será chamadolib.rs.cc
. Essa convenção de nomenclatura não é aplicada, no entanto.