The linker used on Windows when installing DMD is pretty much
decided on how your PC was setup.
- If you had Visual Studio installed on your windows for "Desktop
Development with C++" before downloading DMD (from the site and
setup), you will pretty have MSVC Linker as a default.
- If you installed DMD before Visual Studio without that
extension, your default linker will be LLD linker.
There is 2 ways to change your linker for DMD:
1. Open a Command Prompt and type `set
LINKCMD=path\to\the\linker`.
2. Open your D windows installation folder (usually
C:\D\dmd2\windows\bin), and edit `sc.ini`. There will be
[Environment]. Below [Environment], you just type the same thing
as above. So basically, for my folder system, I can use both:
**LLD**:
`LINKCMD=C:\D\dmd2\windows\bin\lld-link.exe`
**MSVC**:
`LINKCMD=C:\Program Files\Microsoft Visual
Studio\2022\Community\VC\Tools\MSVC\14.33.31629\bin\Hostx86\x64\link.exe`
Notice that there is no `""` (string literal), although you can
find that on other places, that actually causes an error on
windows.
This can be useful for making your program link faster (lld is
well known for that). But there are cases that you're going to
need the MSVC one. Specially today that I was getting the error
while trying to build with LLD:
Error 0xc00007b “Application was unable to start correctly”
This was solved after changing my linker back to MSVC.