Linking not working properly Windows 11

bauss jacobbauss at gmail.com
Sat Nov 5 19:19:09 UTC 2022


On Saturday, 5 November 2022 at 14:54:52 UTC, Hipreme wrote:
> On Saturday, 5 November 2022 at 14:14:16 UTC, bauss wrote:
>> On Saturday, 5 November 2022 at 13:42:08 UTC, rikki cattermole 
>> wrote:
>>> Try ldc, if that works then its just a missing library that 
>>> needs to be linked against regarding MS CRT.
>>
>> Using LDC doesn't seem to work either, it has similar linking 
>> problems.
>>
>> ```
>> lld-link: error: undefined symbol: fileno
>>>>> referenced by 
>>>>> druntime-ldc.lib(dmain2.obj):(_d_print_throwable)
>>>>> referenced by 
>>>>> phobos2-ldc.lib(stdio.obj):(_D3std5stdio4File4syncMFNeZv)
>>>>> referenced by 
>>>>> phobos2-ldc.lib(stdio.obj):(_D3std5stdio4File13windowsHandleMFNdZPv)
>>>>> referenced 18 more times
>>
>> lld-link: error: undefined symbol: execv
>>>>> referenced by 
>>>>> phobos2-ldc.lib(process.obj):(_D3std7process6execv_FIAyaIAQfZi)
>>
>> lld-link: error: undefined symbol: execve
>>>>> referenced by 
>>>>> phobos2-ldc.lib(process.obj):(_D3std7process7execve_FIAyaIAQfIQeZi)
>>
>> lld-link: error: undefined symbol: execvp
>>>>> referenced by 
>>>>> phobos2-ldc.lib(process.obj):(_D3std7process7execvp_FIAyaIAQfZi)
>>
>> lld-link: error: undefined symbol: execvpe
>>>>> referenced by 
>>>>> phobos2-ldc.lib(process.obj):(_D3std7process8execvpe_FIAyaIAQfIQeZi)
>>
>> lld-link: error: undefined symbol: tzset
>>>>> referenced by 
>>>>> phobos2-ldc.lib(timezone.obj):(_D3std8datetime8timezone9LocalTime9singletonFNeZ12__dgliteral4MFNaNbNiNfZOb)
>> Error: linking with LLD failed
>> ldc2 failed with exit code 1.
>> ```
>>
>> Not sure what to do at this point.
>
> Just posted the other day how to use the MSVC Linker on 
> windows. Using LLD is quite complicated in my experience 
> because I was getting a lot of undefined symbols from the 
> libcmt.
>
> Check this post: 
> https://forum.dlang.org/thread/frixfbbucsbgcrsvmjtf@forum.dlang.org
>
> Remember that for using the MSVC Linker you will need to have 
> visual studio build tools on your PC (or install the visual 
> studio with desktop development with C++).
> Then you can modify your `sc.ini` and it should work.

I have both VS 2019 and 2022, but only 2019 has c++ build tools 
etc. I assume that should be fine?

So I will try this now and see how goes.

Currently having some trouble getting it to work, but probably 
because I am editing sc.ini wrong.

Is it possible you could post your sc.ini so I can compare with 
mine?

I get an error like the following when linking:

```
Linking...
Error: can't run 'C:\Program Files (x86)\Microsoft Visual 
Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx86\x64', 
check PATH
C:\D\dmd2\windows\bin\dmd.exe failed with exit code 1.
```

I put this in sc.ini under [Environment] and [Environment64]

```
LINKCMD=C:\Program Files (x86)\Microsoft Visual 
Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx86\x64
```


More information about the Digitalmars-d-learn mailing list