ساخت در اندروید

دو نوع ژانر ایجاد کنید: یکی برای تولید هدر CXX و دیگری برای تولید فایل منبع CXX. سپس از اینها به عنوان ورودی cc_library_static استفاده می‌شود.

// Generate a C++ header containing the C++ bindings
// to the Rust exported functions in lib.rs.
genrule {
    name: "libcxx_test_bridge_header",
    tools: ["cxxbridge"],
    cmd: "$(location cxxbridge) $(in) --header > $(out)",
    srcs: ["lib.rs"],
    out: ["lib.rs.h"],
}

// Generate the C++ code that Rust calls into.
genrule {
    name: "libcxx_test_bridge_code",
    tools: ["cxxbridge"],
    cmd: "$(location cxxbridge) $(in) > $(out)",
    srcs: ["lib.rs"],
    out: ["lib.rs.cc"],
}
  • ابزارcxxbridge یک ابزار مستقل است که سمت ++C ماژول پل را تولید می‌کند. در Android گنجانده شده و به عنوان ابزار Soong در دسترس است.
  • طبق قرارداد، اگر فایل منبع Rust شما lib.rs باشد، فایل header شما lib.rs.h و فایل منبع شما lib.rs.cc نام خواهد داشت. اگرچه این قرارداد نامگذاری اجرا نمی‌شود.