From 3f95d3ef5a26fc2ad6b49e94d06886e4a3dc9c63 Mon Sep 17 00:00:00 2001 From: gusadmin Date: Tue, 14 Jul 2026 18:37:36 +0300 Subject: [PATCH] =?UTF-8?q?Android:=20bindgen=20NDK-sysroot=20(=D1=84?= =?UTF-8?q?=D0=B8=D0=BA=D1=81=20bits/libc-header-start.h)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit magnum-opus/hwcodec/scrap bindgen резолвил stdint.h в host-glibc. BINDGEN_EXTRA_CLANG_ARGS_ = NDK sysroot + android target. Co-Authored-By: Claude Opus 4.8 --- scripts/build-android.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/scripts/build-android.sh b/scripts/build-android.sh index d7380ed..fe9e74f 100644 --- a/scripts/build-android.sh +++ b/scripts/build-android.sh @@ -63,7 +63,12 @@ RUSTC_BOOTSTRAP=1 flutter_rust_bridge_codegen \ # glibc-заголовках (bits/libc-header-start.h). Софт-кодеки (vpx/aom) работают. hwcodec-android # — отдельная доработка (RUSTDESK_ANDROID_FEATURES="flutter,hwcodec" когда починим bindgen). FEATURES="${RUSTDESK_ANDROID_FEATURES:-flutter}" -echo "[rust] cargo ndk build --features $FEATURES ..." +# bindgen (magnum-opus/hwcodec/scrap) при кросс-сборке резолвит #include в HOST +# /usr/include (glibc) -> не находит bits/libc-header-start.h. Указываем NDK-sysroot и target +# через target-specific env (bindgen читает подчёркнутую форму). +NDK_SYSROOT="$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/sysroot" +export BINDGEN_EXTRA_CLANG_ARGS_aarch64_linux_android="--sysroot=$NDK_SYSROOT --target=aarch64-linux-android21" +echo "[rust] cargo ndk build --features $FEATURES (bindgen sysroot=$NDK_SYSROOT) ..." cargo ndk --platform 21 --target aarch64-linux-android build --locked --release --features "$FEATURES" # --- jniLibs: librustdesk.so + libc++_shared.so ---