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