VisualD: link failure

finalpatch via Digitalmars-d-ide digitalmars-d-ide at puremagic.com
Fri May 1 20:32:07 PDT 2015


I'm using Visual Studio Community 2013 Version 12.031101.00 
Update 4 and Visual D 0.3.41 beta2.

Building with Visual D fails every time, with any project. Upon 
examining the log it seems an excessive '+' is added to the .lib 
or .obj file names in the linking step.

Here's the log of building the app wizard generated console 
project and another log of building the wizard generated windows 
project.

---->8-------->8-------->8-------->8-------->8-------->8-------->8----

Build Log
Building Debug\ConsoleApp1.exe
Command Line
set PATH=C:\Users\fengli\Apps\dmd2\windows\bin;C:\Program Files 
(x86)\Microsoft Visual Studio 12.0\\Common7\IDE;C:\Program Files 
(x86)\Windows Kits\8.1\\bin;%PATH%
dmd -g -debug -X -Xf"Debug\ConsoleApp1.json" 
-deps="Debug\ConsoleApp1.dep" -c -of"Debug\ConsoleApp1.obj" main.d
if errorlevel 1 goto reportError

set LIB=
echo. > ConsoleApp1.build.lnkarg
echo 
"Debug\ConsoleApp1.obj","Debug\ConsoleApp1.exe_cv","Debug\ConsoleApp1.map",user32.lib+ 
 >> ConsoleApp1.build.lnkarg
echo kernel32.lib/NOMAP/CO/NOI/DELEXE >> ConsoleApp1.build.lnkarg

"C:\Program Files (x86)\VisualD\pipedmd.exe" -deps 
Debug\ConsoleApp1.lnkdep link.exe @ConsoleApp1.build.lnkarg
if errorlevel 1 goto reportError
if not exist "Debug\ConsoleApp1.exe_cv" (echo 
"Debug\ConsoleApp1.exe_cv" not created! && goto reportError)
echo Converting debug information...
"C:\Program Files (x86)\VisualD\cv2pdb\cv2pdb.exe" 
"Debug\ConsoleApp1.exe_cv" "Debug\ConsoleApp1.exe"
if errorlevel 1 goto reportError
if not exist "Debug\ConsoleApp1.exe" (echo 
"Debug\ConsoleApp1.exe" not created! && goto reportError)

goto noError

:reportError
echo Building Debug\ConsoleApp1.exe failed!

:noError
Output
link: cannot create link 'kernel32.lib/NOMAP/CO/NOI/DELEXE' to 
'Debug\\ConsoleApp1.obj,Debug\\ConsoleApp1.exe_cv,Debug\\ConsoleApp1.map,user32.lib+': 
No such file or directory
Building Debug\ConsoleApp1.exe failed!

---->8-------->8-------->8-------->8-------->8-------->8-------->8----

Build Log
Building Debug\WindowsApp2.exe
Command Line
set PATH=C:\Users\fengli\Apps\dmd2\windows\bin;C:\Program Files 
(x86)\Microsoft Visual Studio 12.0\\Common7\IDE;C:\Program Files 
(x86)\Windows Kits\8.1\\bin;%PATH%
dmd -g -debug -X -Xf"Debug\WindowsApp2.json" 
-deps="Debug\WindowsApp2.dep" -c -of"Debug\WindowsApp2.obj" 
winmain.d
if errorlevel 1 goto reportError

set LIB=
echo. > WindowsApp2.build.lnkarg
echo 
"Debug\WindowsApp2.obj","Debug\WindowsApp2.exe_cv","Debug\WindowsApp2.map",ole32.lib+ 
 >> WindowsApp2.build.lnkarg
echo kernel32.lib+ >> WindowsApp2.build.lnkarg
echo user32.lib+ >> WindowsApp2.build.lnkarg
echo comctl32.lib+ >> WindowsApp2.build.lnkarg
echo comdlg32.lib+ >> WindowsApp2.build.lnkarg
echo user32.lib+ >> WindowsApp2.build.lnkarg
echo kernel32.lib/NOMAP/CO/NOI/DELEXE /SUBSYSTEM:WINDOWS >> 
WindowsApp2.build.lnkarg

"C:\Program Files (x86)\VisualD\pipedmd.exe" -deps 
Debug\WindowsApp2.lnkdep link.exe @WindowsApp2.build.lnkarg
if errorlevel 1 goto reportError
if not exist "Debug\WindowsApp2.exe_cv" (echo 
"Debug\WindowsApp2.exe_cv" not created! && goto reportError)
echo Converting debug information...
"C:\Program Files (x86)\VisualD\cv2pdb\cv2pdb.exe" 
"Debug\WindowsApp2.exe_cv" "Debug\WindowsApp2.exe"
if errorlevel 1 goto reportError
if not exist "Debug\WindowsApp2.exe" (echo 
"Debug\WindowsApp2.exe" not created! && goto reportError)

goto noError

:reportError
echo Building Debug\WindowsApp2.exe failed!

:noError
Output
link: extra operand 'user32.lib+'
Try 'link --help' for more information.
Building Debug\WindowsApp2.exe failed!



More information about the Digitalmars-d-ide mailing list