LDC2 -I option results in unresolved externals

Mike Parker aldacron at gmail.com
Fri Oct 12 07:32:26 UTC 2018


On Friday, 12 October 2018 at 06:01:12 UTC, spikespaz wrote:
> I'm using the latest LDC2 beta, and when running the compiler 
> with -I (Look for imports also in <directory>) it fails with 
> unresolved externals. These are my commands.
>
> =====================================================
>
> $ ldc2 "source\setup.d" -I "source" -J "build\vars" -of 
> "build\bin\setup.exe" -m32 -g
> setup.obj : error LNK2019: unresolved external symbol 
> __D6common17createErrorDialogFxC9ExceptionZv referenced in 
> function __Dmain
> setup.obj : error LNK2019: unresolved external symbol 
> __D6common14getConsoleArgsFxPuZAAya referenced in function 
> __D5setup20getAvailableBrowsersFZ14__foreachbody1MFKC3std7windows8registry3KeyZi
> setup.obj : error LNK2001: unresolved external symbol 
> __D6common12__ModuleInfoZ
> build\bin\setup.exe : fatal error LNK1120: 3 unresolved 
> externals
> Error: C:\Program Files (x86)\Microsoft Visual 
> Studio\2017\BuildTools\VC\Tools\MSVC\14.15.26726\bin\HostX86\x86\link.exe failed with status: 1120
>
> =====================================================
>
> But this next one works fine.
>
> =====================================================
>
> $ ldc2 "source\setup.d" "source/common.d" -J "build\vars" -of 
> "build\bin\setup.exe" -m32 -g
>
> =====================================================
>
> I'm using LDC2 version 1.12.0-beta2, on DMD v2.082.0, on 
> Windows with VS Build Tools 2017.
> Any solutions or corrections appreciated.

-I does not tell the compiler to actually compile the modules it 
finds in the given directory. It's only for symbol lookup.

DMD has the -i option which tells the compiler to automatically 
compile all imported modules. I don't know if LDC has anything 
similar, the wiki page listing its command line options hasn't 
been updated in a while.






More information about the Digitalmars-d-learn mailing list