我正在使用最新的 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
我在带有 VS Build Tools 2017 的 Windows 上使用 DMD v2.082.0 上的 LDC2 版本 1.12.0-beta2。感谢任何解决方案或更正。
注意:这些编译器命令将由其他代码生成,因此使用显式文件名是不可行的。