windows linker error
Vlad Levenfeld via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Tue Nov 25 20:10:06 PST 2014
On Wednesday, 26 November 2014 at 01:35:20 UTC, Joakim wrote:
> On Tuesday, 25 November 2014 at 23:08:07 UTC, Vlad Levenfeld
> wrote:
>> On Tuesday, 25 November 2014 at 21:22:24 UTC, Vlad Levenfeld
>> wrote:
>>> On Windows 7 I have built dmd (using the vcxproj), druntime
>>> (win64.mak) and phobos (win64.mak).
>>>
>>> I went into sc.ini and set the LINKCMD to point to Visual
>>> Studio 12.0's linker.
>>>
>>> When I try to compile anything with dmd, I get
>>>
>>> LINK : fatal error LNK1181: cannot open input file
>>> 'test,,nul,user32+kernel132/noi;.obj'
>>>
>>> I'm pretty sure else is ok as I didn't see any errors while I
>>> was building. What can I try next?
>>
>> Solved it by pointing to the dmc linker instead. Now I have
>>
>> LNK1104: cannot open file 'shell32.lib'
>>
>> I'm compiling with -m64... couldn't compile 32-bit phobos
>> because of missing zlib.
>
> Just so we're clear, you're trying to compile for Win64 COFF?
> It sounds like you don't have something about your environment
> set up right, as Win64 requires the MSVC toolchain and some
> configuration if you use the dmd zip. Did you install from the
> exe installer or are you using the zip?
>
> The dmc linker is not going to work, as it only does OMF. You
> may find this page helpful, though it may be a bit outdated:
>
> http://wiki.dlang.org/Installing_DMD_on_64-bit_Windows_7_%28COFF-compatible%29
I'm compiling the latest build from github.
(I normally stay up to date with the current builds on 64bit
Debian and everything works more or less without a hitch there,
but now I need to get some of my tools working in a Windows
environment)
I'm not really sure what my options are regarding the COFF or
what they mean, 64-bit is really the only requirement (mostly
because I can't get the 32-bit stuff to compile).
I've got Visual Studio Premium, I tried to install from the exe
at one point and got Visual D in the process (and this did work,
except that the code I need is built against the latest
dmd/druntime/phobos builds).
Installing it from the instructions, IIRC, also worked for me,
but again, the version.
So I used the dmd visual studio project to build dmd, then built
druntime and phobos with Digital Mars make;
I had previously tried to use dmc to build dmd but couldn't get
it to work.
Anyway, I manage to build successfully but then I get this linker
error when I try to run dmd on some test.d consisting of void
main (){}.
I've gone into sc.ini and pulled out the ;VC2012 comments to
expose the LIB instruction (to fix a different problem) and this
is the point that I've gotten stuck at.
More information about the Digitalmars-d-learn
mailing list