Perguntas Frequentes
Compilar para Linux alpine
https://github.com/rust-lang/rust/pull/40113#issuecomment-323193341 (opens in a new tab)
Você não pode definir o crate-type de compilação para cdylib ao compilar para o destino *-unknown-linux-musl por padrão.
Se você deseja fazer isso, precisa passar -C target-feature=-crt-static para rustc.
Existem duas maneiras de passar esse argumento:
-
Defina a variável de ambiente
RUSTFLAGS,RUSTFLAGS="-C target-feature=-crt-static" -
Defina no arquivo
.cargo/config.toml:[target.x86_64-unknown-linux-musl] crt_static = false
Compilar para Windows i686
Há um erro de codegen ao compilar para o destino i686-windows-*: Rust issue 67497 (opens in a new tab).
Existe uma solução alternativa para evitar esse problema:
- Defina
ltocomo falso, se você não tiver definido lto em seuCargo.toml, o valor é falso por padrão, você pode ignorar este. - Defina
codegen-unitspara32(ou maior). O valor padrão decodegen-unitsé16por padrão ao compilar para release, você pode definirCARGO_PROFILE_RELEASE_CODEGEN_UNITS=32eCARGO_PROFILE_RELEASE_LTO='false'para deixar o compilador feliz ao direcionari686-windows-*. Aqui está um exemplo (opens in a new tab).