[英]LDC2 -I option results in unresolved externals
我正在使用最新的LDC2 beta,并且在使用-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。感谢所有解决方案或修正。
注意:这些编译器命令将由其他代码生成,因此使用显式文件名是不可行的。
-I
告诉它在哪里找到要导入的源代码。 假设实际的目标代码将在传递给链接器的某个地方的预编译库(或单独的.obj文件)中找到。
如果您希望它使用最新的ldc构建之一(截至最近几个月)在构建中包含文件,则除了 -I
外 ,它还具有-i
,您可以通过。 -I
告诉它在哪里可以找到导入文件。 -i
告诉它将它们添加到构建中,而不仅仅是将它们视为外部库头。
这就是您的三个选择:
-i
添加到build命令。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.