Rust- hur gör man med extern crate?

Permalänk

Rust- hur gör man med extern crate?

Mindre program använder inte "extern crate" och de fungerar bra för mej.

Jag har läst om olika metoder att använda cargo men får "error" direkt.
cargo clean -> toml is missing
cargo new ->path is missing
Vad är en <path> egentligen?
En sökväg låter det som. Men något annat?

Permalänk
Medlem

Förstår inte riktigt om du försöker använda cargo eller om du specifikt vill använda extern crate.

Om du bara vill använda cargo så använder man antingen cargo new (skapar ny mapp) eller cargo init (i befintlig mapp).

Tutorial för cargo new.

Visa signatur

Citera eller @philipborg om du vill att jag ska läsa dina svar.

Permalänk

Både och-cargo underlättar vid extern crate. För övrigt ser inte behovet av cargo vara så stort.
I manualen visar de hur man gör med "extern crate rand" git clone https..../rand.git.
Ser ut som om cargo gör vad den ska men inget av testprogrammen fungerar.
Så frågan är hur lång sökväg man ska ange?
Kanske är det fel version?

http://rosettacode.org/wiki/Mandelbrot_set#Rust
Här har man två extern crate: image och num_complex.
Ser ut som om image kan hanteras via git clone...... men inte num_complex.

Permalänk
Medlem

För att använda externa beroenden i Rust så behöver du en Cargo.toml fil. Cargo.toml beskriver ditt projek, likt en makefil för C. Här säger du om Cargo ska bygga en körbar binär eller ett bibliotek, vilka beroenden som automatiskt ska hämtas, vilka features som ska aktiveras, etc. Med ett Cargo projekt behöver du sen bara skriva "cargo build" (eller "cargo build --release") för att bygga hela ditt projekt med alla beroenden och inställningar.

Ang. just "extern crate" så är inte det nåt man behöver skriva i allmänhet i 2018 utgåvan av Rust. Cargo kan ju redan se i .toml filen vilka externa beroenden som finns, så de har fixat så man inte måste upprepa sig även i .rs filerna.

Visa signatur

Arbets- / Spelstation: Arch Linux - Ryzen 5 3600 - RX 7900 XT - 32G DDR4
Server: Arch Linux - Core i5-10400F - 16G DDR4

Permalänk

Cargo new <namn>

Kommer att skapa ett nytt cargo projekt, mappen <namn> kommer skapas om den inte finns, som bygger en exekverar fil som kommer skriva ut "Hello world!".

Cargo new --lib <namn> kommer skapa ett cargo projekt för att skapa ett lib.