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
lto
como falso, se você não tiver definido lto em seuCargo.toml
, o valor é falso por padrão, você pode ignorar este. - Defina
codegen-units
para32
(ou maior). O valor padrão decodegen-units
é16
por padrão ao compilar para release, você pode definirCARGO_PROFILE_RELEASE_CODEGEN_UNITS=32
eCARGO_PROFILE_RELEASE_LTO='false'
para deixar o compilador feliz ao direcionari686-windows-*
. Aqui está um exemplo (opens in a new tab).