[VisualD] Why does VS expect all the .obj files to have a '+' after them?

Rainer Schuetze r.sagitario at gmx.de
Mon Oct 9 17:34:38 UTC 2017



On 09.10.2017 18:13, David Zhang wrote:
> I'm trying to compile a project of mine for the first time with Visual 
> Studio, but I keep getting the following linker error:
> 
>      LINK : fatal error LNK1181: cannot open input file 
> 'obj\debug\dummy\test\..\source\test\app.obj+'
> 
> Nothing I do seems to work. What's going on here?

This looks like the wrong linker is called. For Win32, the default is to 
use link.exe that comes with dmd, i.e. 
$(DMDInstallDir)\windows\bin\link.exe. This linker only support the OMF 
object file format and has a different command line syntax than the 
Microsoft linker.

To fix this, you should check that the path $(DMDInstallDir)\windows\bin 
comes first in the executable paths specified on the page 
Tools->Options->Projects and Solutions->Visual D Settings->DMD 
directories->Win32.

If you build for x64 or enable MS-COFF output on the project property 
page Compiler->Output, the MS linker is used anyway, so should not have 
this problem.


More information about the Digitalmars-d-ide mailing list