From d2c7aa09147196a7bfc3adaff850dedc1da25a39 Mon Sep 17 00:00:00 2001 From: postscriptum Date: Mon, 22 Dec 2025 21:59:53 +0200 Subject: [PATCH] add `prostyy-sposib-kros-kompiliatsiyi-rust-z-cross.md` --- ...-sposib-kros-kompiliatsiyi-rust-z-cross.md | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 post/prostyy-sposib-kros-kompiliatsiyi-rust-z-cross.md diff --git a/post/prostyy-sposib-kros-kompiliatsiyi-rust-z-cross.md b/post/prostyy-sposib-kros-kompiliatsiyi-rust-z-cross.md new file mode 100644 index 0000000..2cefa81 --- /dev/null +++ b/post/prostyy-sposib-kros-kompiliatsiyi-rust-z-cross.md @@ -0,0 +1,23 @@ +# Простий спосіб крос-компіляції Rust з cross + +Довго мучився зі збіркою безпосередньо на сервері, постійно звільняючи там простір та додаючи swap. Згодом, мені це набридло і за пару хвилин віднайшов простий спосіб крос-компіляції з крейтом [cross](https://crates.io/crates/cross). + +Встановлення відбувається однією командою: + +``` bash +cargo install cross --git https://github.com/cross-rs/cross +``` + +Перш, як продовжити, варто почистити кеш збірки, що було згенеровано для поточної архітектури: + +``` bash +cargo clean +``` + +Компіляція відбувається майже так само як з `cargo`, але засобами обгортки `cross`: + +``` bash +cross build --release --target armv7-unknown-linux-gnueabihf +``` +* при першому виконанні, буде автоматично встановлене контейнерне середовище для `--target` +* після завершення збірки, копіюємо бінарники (з теки `target/armv7-unknown-linux-gnueabihf`) на цільовий пристрій \ No newline at end of file