Linking not working properly Windows 11

ryuukk_ ryuukk.dev at gmail.com
Sun Nov 6 03:59:55 UTC 2022


On Saturday, 5 November 2022 at 19:19:09 UTC, bauss wrote:
> 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
> ```

Manually editing / moving files is not recommended for Visual 
Studio installs

I recommend the following:

- Uninstall both version of VS
- Reboot
- Install the latest version of VS + sdk
- Reboot
- Reinstall DMD just to make sure



More information about the Digitalmars-d-learn mailing list