Miért nem működik a Rust fordító Windowson ha a MinGW be van állítva környezeti változónak?
Tegnap kezdtem el tanulni a Rustot, teljesen új szóval nem sokat tudok még róla, de már programoztam C-ben, ezért fel volt telepítve egy fordítóprogram, méghozzá a TDM-GCC: [link]
Feltettem a Rust fordító GNU változatát, tehát a stable-x86_64-pc-windows-gnu -t.
Egy egyszerű Hello World programot nem tudtam vele lefordítani. Később rájöttem, hogy azért mert valahogy a MinGW fordító bezavar neki. Tehát a környezeti változók közt bent van a TDM-GCC (ez tartalmazza a MinGW-t) és a C:\Users\<felhasználónév>\.cargo\bin.
Ha mindkettő bent van, a Rust linkelési hibával kilép:
error: linking with `x86_64-w64-mingw32-gcc` failed: exit code: 1
note: C:/TDM-GCC-64/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lgcc_eh
collect2.exe: error: ld returned 1 exit status
Ha kitörlöm a környezeti változók közül a C fordítót, tehát a TDM-GCC-t, egyből működik ahogyan kell. Miért van ez? Eleve azt sem értem, hogy a Rustnak miért kell egyáltalán a MinGW. És miért baj, ha mindkettő be van állítva?
Windows 10 -et használok.
Alap, nem variáltam semmit. Egy egyszerű .rs fájl sem akart lefordulni, amiben csak ennyi volt:
fn main() {
println!("Hello World!");
}
Ha TDM-GCC -t kivettem az környezeti változókból, akkor ment.
További kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!