Я использую последнюю бета-версию LDC2, и при запуске компилятора с параметром -I (также обратите внимание на импорт) он не работает с неразрешенными внешними данными.Это мои команды.
$ 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
Но следующий хорошо работает, когда я явно сообщаю компилятору, что setup.d
зависит от common.d
.
$ ldc2 "source\setup.d" "source\common.d" -J "build\vars" -of "build\bin\setup.exe" -m32 -g
Я использую LDC2версия 1.12.0-бета2, на DMD v2.082.0, в Windows с VS Build Tools 2017. Любые решения или исправления приветствуются.
Примечание: Эти команды компилятора будут сгенерированы другим кодомпоэтому использование явных имен файлов невозможно.