我试图在稳定的Rust中构建一个UEFI二进制文件,所以我不使用x86_64-unknown-uefi
目标,因为它需要Nightly工具链。为此,我创建了.cargo/config.toml
:
[build]
target = "x86_64-pc-windows-gnu"
[target.x86_64-pc-windows-gnu]
rustflags = [
"-C", "link-args=/nologo /nxcompat /nodefaultlib /entry:efi_main /subsystem:efi_application",
"-C", "code-model=large",
"-C", "prefer-dynamic=n",
"-C", "no-redzone=y",
"-C", "panic=abort",
"-C", "linker=lld-link",
]
字符串
在我的本地机器上构建成功,但在GitHub Actions(log)上失败。即使我指定lld-link
作为链接器,x86_64-w64-mingw32-ld
仍然被使用。
如何强制cargo
使用lld-link
?
1条答案
按热度按时间o75abkj41#
你试过在
[target.x86_64-pc-windows-gnu]
表下添加linker = "lld-link"
吗?或者,尝试CARGO_TARGET_X86_64_PC_WINDOWS_GNU_LINKER="lld-link" cargo build
。这应该会强制在整个依赖链中使用它。