RUST_CODE Telegram 1032
πŸ‘£ Rust совСт дня

Π€Π°ΠΉΠ» build.rs ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π² ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΡƒΡŽ систСму сборки C-ΠΊΠΎΠ΄Π° для Rust.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ C-ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΡƒ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Ρ‘ вмСстС с C SDK прямо Ρ‡Π΅Ρ€Π΅Π· Cargo πŸ¦€

πŸ“Œ Π§Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚?
- МоТно ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ C-ΠΊΠΎΠ΄ ΠΈ ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠΈ прямо ΠΈΠ· Rust-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
- Π›ΠΈΠ½ΠΊΠΎΠ²Π°Ρ‚ΡŒ C SDK ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΈΡ… ΠΊ Rust
- Π§Π΅Ρ€Π΅Π· println! ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Cargo ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ инструкции (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ)



/// build.rs
fn main() {
// ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌ C-wrapper
cc::Build::new()
.file("src/rplidarx_wrapper.c")
.include("/usr/local/include")
.include("/usr/local/include/src")
.include("/usr/local/include/core")
.compile("rplidarx_wrapper");

// Π›ΠΈΠ½ΠΊΡƒΠ΅ΠΌ ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΡƒ
println!("cargo:rustc-link-lib=static=rplidarx_wrapper");

// Π›ΠΈΠ½ΠΊΡƒΠ΅ΠΌ SDK устройства
println!("cargo:rustc-link-lib=rplidarx_sdk");
println!("cargo:rustc-link-lib=pthread");
println!("cargo:rustc-link-lib=stdc++");

// ΠŸΡƒΡ‚ΡŒ ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌ (Ссли Π½ΡƒΠΆΠ΅Π½)
println!("cargo:rustc-link-search=native=/usr/local/lib");

// ΠŸΠ΅Ρ€Π΅ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ C-Ρ„Π°ΠΉΠ»Π°
println!("cargo:rerun-if-changed=src/rplidarx_wrapper.c");
}


πŸ“Œ Π­Ρ‚ΠΈ println! β€” скрытыС build-инструкции для Cargo.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Makefile Π½Π΅ Π½ΡƒΠΆΠ΅Π½: всё ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сборкой C ΠΈ Rust находится прямо Π² build.rs.

@rust_code

#junior #rust
Please open Telegram to view this post
VIEW IN TELEGRAM
πŸ‘24πŸ”₯14❀6πŸ¦„2πŸ₯°1



tgoop.com/rust_code/1032
Create:
Last Update:

πŸ‘£ Rust совСт дня

Π€Π°ΠΉΠ» build.rs ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π² ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΡƒΡŽ систСму сборки C-ΠΊΠΎΠ΄Π° для Rust.
ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ C-ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΡƒ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Ρ‘ вмСстС с C SDK прямо Ρ‡Π΅Ρ€Π΅Π· Cargo πŸ¦€

πŸ“Œ Π§Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚?
- МоТно ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ C-ΠΊΠΎΠ΄ ΠΈ ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΠΈ прямо ΠΈΠ· Rust-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°
- Π›ΠΈΠ½ΠΊΠΎΠ²Π°Ρ‚ΡŒ C SDK ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΈΡ… ΠΊ Rust
- Π§Π΅Ρ€Π΅Π· println! ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Cargo ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ инструкции (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ)



/// build.rs
fn main() {
// ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌ C-wrapper
cc::Build::new()
.file("src/rplidarx_wrapper.c")
.include("/usr/local/include")
.include("/usr/local/include/src")
.include("/usr/local/include/core")
.compile("rplidarx_wrapper");

// Π›ΠΈΠ½ΠΊΡƒΠ΅ΠΌ ΠΎΠ±Ρ‘Ρ€Ρ‚ΠΊΡƒ
println!("cargo:rustc-link-lib=static=rplidarx_wrapper");

// Π›ΠΈΠ½ΠΊΡƒΠ΅ΠΌ SDK устройства
println!("cargo:rustc-link-lib=rplidarx_sdk");
println!("cargo:rustc-link-lib=pthread");
println!("cargo:rustc-link-lib=stdc++");

// ΠŸΡƒΡ‚ΡŒ ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌ (Ссли Π½ΡƒΠΆΠ΅Π½)
println!("cargo:rustc-link-search=native=/usr/local/lib");

// ΠŸΠ΅Ρ€Π΅ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ C-Ρ„Π°ΠΉΠ»Π°
println!("cargo:rerun-if-changed=src/rplidarx_wrapper.c");
}


πŸ“Œ Π­Ρ‚ΠΈ println! β€” скрытыС build-инструкции для Cargo.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Makefile Π½Π΅ Π½ΡƒΠΆΠ΅Π½: всё ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сборкой C ΠΈ Rust находится прямо Π² build.rs.

@rust_code

#junior #rust

BY Rust




Share with your friend now:
tgoop.com/rust_code/1032

View MORE
Open in Telegram


Telegram News

Date: |

Joined by Telegram's representative in Brazil, Alan Campos, Perekopsky noted the platform was unable to cater to some of the TSE requests due to the company's operational setup. But Perekopsky added that these requests could be studied for future implementation. The main design elements of your Telegram channel include a name, bio (brief description), and avatar. Your bio should be: SUCK Channel Telegram It’s easy to create a Telegram channel via desktop app or mobile app (for Android and iOS): Private channels are only accessible to subscribers and don’t appear in public searches. To join a private channel, you need to receive a link from the owner (administrator). A private channel is an excellent solution for companies and teams. You can also use this type of channel to write down personal notes, reflections, etc. By the way, you can make your private channel public at any moment.
from us


Telegram Rust
FROM American