www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.ide - VisualD: link failure

reply "finalpatch" <fengli gmail.com> writes:
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\ConsoleA
p1.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\\ConsoleAp 1.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\Windows pp2.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!
May 01 2015
parent reply Rainer Schuetze <r.sagitario gmx.de> writes:
On 02.05.2015 05:32, finalpatch wrote:
 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.
[...]
 :noError
 Output
 link: extra operand 'user32.lib+'
 Try 'link --help' for more information.
 Building Debug\WindowsApp2.exe failed!
This is not the usual output from optlink, the linker used to build win32 applications. I suspect link.exe is missing from C:\Users\fengli\Apps\dmd2\windows\bin. If you have renamed it (to avoid it replacing the MS linker on the command line), you should also adjust the appropriate entry in sc.ini in the same direcctory).
May 03 2015
parent "finalpatch" <fengli gmail.com> writes:
Thank you Rainer, you are absolutely right, my dmd path setting 
is wrong.

On Sunday, 3 May 2015 at 14:01:14 UTC, Rainer Schuetze wrote:
 On 02.05.2015 05:32, finalpatch wrote:
 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.
[...]
 :noError
 Output
 link: extra operand 'user32.lib+'
 Try 'link --help' for more information.
 Building Debug\WindowsApp2.exe failed!
This is not the usual output from optlink, the linker used to build win32 applications. I suspect link.exe is missing from C:\Users\fengli\Apps\dmd2\windows\bin. If you have renamed it (to avoid it replacing the MS linker on the command line), you should also adjust the appropriate entry in sc.ini in the same direcctory).
May 04 2015