C:\test>dmd -v -m64 test.d -L d:/dmd2/windows/lib/phobos64.lib
binary D:\dmd2\windows\bin\dmd.exe
version v2.061
config D:\dmd2\windows\bin\sc.ini
parse test
importall test
import object (D:\dmd2\windows\bin\..\..\src\druntime\import\object.di
)
import core.stdc.stdio (D:\dmd2\windows\bin\..\..\src\druntime\import\c
ore\stdc\stdio.d)
import core.stdc.config (D:\dmd2\windows\bin\..\..\src\druntime\import\c
ore\stdc\config.d)
import core.stdc.stddef (D:\dmd2\windows\bin\..\..\src\druntime\import\c
ore\stdc\stddef.d)
import core.stdc.stdarg (D:\dmd2\windows\bin\..\..\src\druntime\import\c
ore\stdc\stdarg.d)
semantic test
semantic2 test
semantic3 test
code test
function D main
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\x86_amd64\link.exe test /DEFAULTLIB:"d:\dmd2\windows\lib\phobos64.lib" /MERGE:.minfobg=.minfodt /MERGE:.minfoen=.minfodt /MERGE:._deh_bg=._deh_eh /MERGE:._deh_en=._deh_eh "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\amd64" "/LIBPATH:C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\lib\x64"
Microsoft (R) Incremental Linker Version 11.00.50727.1
Copyright (C) Microsoft Corporation. All rights reserved.
LINK : fatal error LNK1104: cannot open file 'shell32.lib'
--- errorlevel 1104
How is shell32.lib even getting pulled in? My LIB environment variable is not defined. The LIB line in sc.ini is commented out. Neither shell32.lib nor the directory it lives in appears in the linker command line output by DMD. However, according to grep phobos64.lib contains the string "shell32.lib". I'm not familiar with the .lib format, but does it allow for references to other object/library files that automatically get pulled in when linking a library?