How to use lld linker with x86_64-pc-windows-gnu

Hello. I am trying use lld for faster linking on windows and looks like something wrong.
.cargo/config:

[target.x86_64-pc-windows-gnu]
linker = "ld64.lld.exe"
rustflags = ["-Clink-args=-arch x86_64"]

Log:

   Compiling scratch v0.1.0 (D:\Dev\scratch)
error: linking with `ld64.lld.exe` failed: exit code: 1
  |
  = note: "ld64.lld.exe" "-fno-use-linker-plugin" "-Wl,--nxcompat" "-nostdlib" "-m64" "D:\\Portable\\Rust\\rustup\\toolc
hains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\crt2.o" "D:\\Portable\\Rust\\rustup\\tool
chains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\rsbegin.o" "-L" "D:\\Portable\\Rust\\rus
tup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib" "D:\\Dev\\scratch\\target\\debu
g\\deps\\scratch-40c40d76c8bb655e.3884lq0x82t9ao0d.rcgu.o" "D:\\Dev\\scratch\\target\\debug\\deps\\scratch-40c40d76c8bb6
55e.40q40nofsxzw5spp.rcgu.o" "D:\\Dev\\scratch\\target\\debug\\deps\\scratch-40c40d76c8bb655e.4lvsz6zindp3ctad.rcgu.o" "
D:\\Dev\\scratch\\target\\debug\\deps\\scratch-40c40d76c8bb655e.4qqka4hmkn5lnsd8.rcgu.o" "D:\\Dev\\scratch\\target\\debu
g\\deps\\scratch-40c40d76c8bb655e.sduyjc2iat2ik20.rcgu.o" "-o" "D:\\Dev\\scratch\\target\\debug\\deps\\scratch-40c40d76c
8bb655e.exe" "D:\\Dev\\scratch\\target\\debug\\deps\\scratch-40c40d76c8bb655e.4b9hbu9bbi9bwz90.rcgu.o" "-Wl,--gc-section
s" "-nodefaultlibs" "-L" "D:\\Dev\\scratch\\target\\debug\\deps" "-L" "D:\\Portable\\Rust\\rustup\\toolchains\\stable-x8
6_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib" "-Wl,--start-group" "-Wl,-Bstatic" "D:\\Portable\\Rust\\r
ustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libstd-2709d4b440f1e31a.rlib"
 "D:\\Portable\\Rust\\rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libpan
ic_unwind-a9004ff0947ef669.rlib" "D:\\Portable\\Rust\\rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x8
6_64-pc-windows-gnu\\lib\\libhashbrown-51ba26adca1c882c.rlib" "D:\\Portable\\Rust\\rustup\\toolchains\\stable-x86_64-pc-
windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\librustc_std_workspace_alloc-845f51604911fcc4.rlib" "D:\\Portable
\\Rust\\rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libbacktrace-de041ab
5ae3894b3.rlib" "D:\\Portable\\Rust\\rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-g
nu\\lib\\libbacktrace_sys-583b927240902ae3.rlib" "D:\\Portable\\Rust\\rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\
lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\librustc_demangle-dc3974e5e5ee3f1e.rlib" "D:\\Portable\\Rust\\rustup\\toolchai
ns\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libunwind-93e1dea24f969698.rlib" "D:\\Portab
le\\Rust\\rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libcfg_if-59c69470
ac86444e.rlib" "D:\\Portable\\Rust\\rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gn
u\\lib\\liblibc-5fe3f715aad021c1.rlib" "D:\\Portable\\Rust\\rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustl
ib\\x86_64-pc-windows-gnu\\lib\\liballoc-289552190fa6ddd0.rlib" "D:\\Portable\\Rust\\rustup\\toolchains\\stable-x86_64-p
c-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\librustc_std_workspace_core-663fc4811d41d373.rlib" "D:\\Portabl
e\\Rust\\rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libcore-985f2d98a13
8c88e.rlib" "-Wl,--end-group" "D:\\Portable\\Rust\\rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_6
4-pc-windows-gnu\\lib\\libcompiler_builtins-8d584b80572e52da.rlib" "-Wl,-Bdynamic" "-ladvapi32" "-lws2_32" "-luserenv" "
-Wl,-Bstatic" "-lgcc_eh" "-lpthread" "-arch" "x86_64" "-Wl,-Bdynamic" "-lmingwex" "-lmingw32" "-lgcc" "-lmsvcrt" "-lmsvc
rt" "-luser32" "-lkernel32" "D:\\Portable\\Rust\\rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-
pc-windows-gnu\\lib\\rsend.o"
  = note: ld64.lld: warning: ignoring unknown argument: -fno-use-linker-plugin
          ld64.lld: warning: ignoring unknown argument: -Wl,--nxcompat
          ld64.lld: warning: ignoring unknown argument: -nostdlib
          ld64.lld: warning: ignoring unknown argument: -m64
          ld64.lld: warning: ignoring unknown argument: -Wl,--gc-sections
          ld64.lld: warning: ignoring unknown argument: -nodefaultlibs
          ld64.lld: warning: ignoring unknown argument: -Wl,--start-group
          ld64.lld: warning: ignoring unknown argument: -Wl,-Bstatic
          ld64.lld: warning: ignoring unknown argument: -Wl,--end-group
          ld64.lld: warning: ignoring unknown argument: -Wl,-Bdynamic
          ld64.lld: warning: ignoring unknown argument: -Wl,-Bstatic
          ld64.lld: warning: ignoring unknown argument: -Wl,-Bdynamic
          ld64.lld: warning: -sdk_version is required when emitting min version load command.  Setting sdk version to ma
tch provided min version
          Cannot open D:\Portable\Rust\rustup\toolchains\stable-x86_64-pc-windows-gnu\lib\rustlib\x86_64-pc-windows-gnu\
lib\crt2.o: executable format error


error: aborting due to previous error

error: could not compile `scratch`.

To learn more, run the command again with --verbose.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.