Кросс-компиляция
Short Names
DCR поддерживает короткие имена платформ, которые автоматически раскрываются в полные triples:
| Short Name | Full Triple |
|---|---|
linux | x86_64-unknown-linux-gnu |
macos | x86_64-apple-darwin |
windows | x86_64-pc-windows-msvc |
linux-arm64 | aarch64-unknown-linux-gnu |
macos-arm64 | aarch64-apple-darwin |
windows-arm64 | aarch64-pc-windows-msvc |
dcr build --target windows
Full Triples
dcr build --target aarch64-unknown-linux-gnu
dcr build --target x86_64-pc-windows-gnu
dcr build --target armv7-unknown-linux-gnueabihf
clang --target
При использовании clang DCR автоматически inject-ит --target=<triple> в CFLAGS/CXXFLAGS.
[build]
compiler = "clang"
target = "aarch64-unknown-linux-gnu"
# Авто: cflags = ["--target=aarch64-unknown-linux-gnu"]
Bare-Metal
Для none/elf/eabi/bare-metal target-ов отключаются DCR default флаги (нет -I системных путей, нет -l libc).
dcr build --target aarch64-none-elf
Типы: none, *-elf*, *eabi*, *baremetal*.
Target Directory
Артефакты кладутся в:
target/<triple>/<profile>/
Пример:
target/aarch64-unknown-linux-gnu/debug/my-app