On Wednesday, 17 September 2014 at 20:49:37 UTC, Vladimir Panteleev wrote:
On Tuesday, 16 September 2014 at 12:33:26 UTC, dcrepid wrote:
Thanks for the help. Unfortunately, I didn't want 64-bit library/object files so I had to modify the make files to point to the VC2010 32-bit compilers (Win64.mak points to the amd64 folders, so I'm a bit concerned now - did you really create a win32 or win64 exe?).

Yes, sorry, that was the wrong command. Currently you have to also specify the full paths to the compiler on make's command line. I sent in two pull requests to document and simplify building phobos32mscoff.lib:


Hi all there!

I've faced the issue with rebuilding druntime/phobos
that come with binary distribution of dmd for windows
in COFF-format.

Firstly, VCDIR and SDKDIR should be specified correctly.
It is not a big deal since they can be set as parameters
to `make' but I suggest to use environment variables
%VCINSTALLDIR% and %WindowsSdkDir% in win64.mak to ease
compiling in Visual Studio's command prompt.
For example, on my working machine SDK is installed to
the D:\WinPrograms path.

Second, I suppose your approach with `VCBIN_SUBDIR' for CC, LD, AR/LIB
paths is fine.

The main trouble is quotes. =) They are the reason why I've got
the error 'cl : Command line error D8003 : missing source filename'.

And the last thing is zlib. Its win64.mak also has definition of macros
CC, LD, etc but the makefile is called from phobos' win64.mak
with the same arguments and... quotes! =) So I removed the arguments
to zlib's win64.mak.

I suppose that the process of building druntime/phobos should be like:
    1) open VS command prompt;
    2) add dmd to the PATH;
    3) cd R:\equired\path;
    4) make -f win64.mak MODEL=32mscoff

Diff files with my changes for both 67.1 and 68.0 versions are available there:

Reply via email to