On Thursday, 2 November 2017 at 13:01:05 UTC, rikki cattermole wrote:
On 02/11/2017 1:56 PM, Andre Pany wrote:
On Thursday, 2 November 2017 at 12:21:50 UTC, rikki cattermole wrote:

Override the shipped sc.ini file with your own. Simple and effective solution.

What I just found out, by calling the batch file "vcvars64.bat" from the visual studio folder it seems everything is already pre configured (LIB environment variable needed for the linker contains paths to lib\x64, ucrt\x64 and um\x64) and also the path environment variable has already the right value in first place:

Path=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\bin\HostX64\x64;

I have to ship an almost empty sc.ini. Everything else is set by the vcvars64.bat file.

It would be great if the default sc.ini would anticipate the usage of vcvars*.bat.
Just call the batch and everything works out of the box.

Kind regards
André

Guess what all "just works" with the installer? :p

unfortunately I cannot use the installer. But I found an interesting comment in sc.ini: ; Add the library subdirectories of all VC and Windows SDK versions so things
; just work for users using dmd from the VS 64-bit Command Prompt

According to these comment I would assume, after calling "vcvars64.bat" everything should work. Maybe it worked in the past and it is a bug.

My tests:
- I changed the line "LINKCMD=%VCINSTALLDIR%\bin\link.exe" to "LINKCMD=link.exe"
Unfortunately this optlink linker is also called link.exe *argh*

- After renaming the optlink linker to optlink.exe the microsoft linker does not find a lib, which is definitely in the LIB environment path.

I think there are some bugs to solve but it definitely makes the usage of Visual Studio linker much more comfortable in build infrastructure.

I will create an issue for this.

Kind regards
André

Reply via email to