November 05, 2022

On Saturday, 5 November 2022 at 19:24:54 UTC, Imperatorn wrote:

>

On Saturday, 5 November 2022 at 13:30:43 UTC, bauss wrote:

>

Fresh install of DMD and when trying to use ex. std.file from Phobos I get the following linking error: (I can trigger different ones depending on modules imported etc.)

[...]

Im also on Windows 10 and 11 and don't have any problems with dmd

On my other Windows 10 machine I have never faced problems and I am not sure why I am facing these problems now. I assumed it would work just the same.

November 05, 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:
>> [...]
>
> I have both VS 2019 and 2022, but only 2019 has c++ build tools etc. I assume that should be fine?
>
> [...]

You forgot to put \link.exe in the path
November 06, 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

November 06, 2022
On Saturday, 5 November 2022 at 22:53:33 UTC, Hipreme wrote:
> On Saturday, 5 November 2022 at 19:19:09 UTC, bauss wrote:
>> On Saturday, 5 November 2022 at 14:54:52 UTC, Hipreme wrote:
>>> [...]
>>
>> I have both VS 2019 and 2022, but only 2019 has c++ build tools etc. I assume that should be fine?
>>
>> [...]
>
> You forgot to put \link.exe in the path

I was totally blind-sided by that.

It seems to work, except for a couple dub packages that I can't get working, I'm going to assume obsolete api calls to the win api, but overall it works like 90%.
November 06, 2022
On Sunday, 6 November 2022 at 03:59:55 UTC, ryuukk_ wrote:
>
> Manually editing / moving files is not recommended for Visual Studio installs
>

The manual editing was not for visual studio but for dmd to set a different linker.
1 2
Next ›   Last »