无法生成/运行VisualD控制台示例

无法生成/运行VisualD控制台示例,d,build-error,D,Build Error,几分钟前我安装了visuald(我想给这种语言一个测试驱动),并使用内置控制台示例尝试构建和运行它。以下是Visual Studio为我生成的代码: import std.stdio; int main(string[] argv) { writeln("Hello D-World!"); return 0; } 下面是我收到的构建错误: ------ Build started: Project: TestingDApp, Configuration: Debug Win3

几分钟前我安装了visuald(我想给这种语言一个测试驱动),并使用内置控制台示例尝试构建和运行它。以下是Visual Studio为我生成的代码:

import std.stdio;

int main(string[] argv)
{
    writeln("Hello D-World!");
    return 0;
}
下面是我收到的构建错误:

------ Build started: Project: TestingDApp, Configuration: Debug Win32 ------
Building Debug\TestingDApp.exe...
C:\D\dmd2\windows\bin\..\..\src\phobos\std\range.d(287): Error: module std.range from file C:\D\dmd2\windows\bin\..\..\src\phobos\std\range.d conflicts with package name range
C:\D\dmd2\windows\bin\..\..\src\phobos\std\range.d(287): Error: module std.range from file C:\D\dmd2\windows\bin\..\..\src\phobos\std\range.d conflicts with package name range
C:\D\dmd2\windows\bin\..\..\src\phobos\std\array.d(1480): Error: undefined identifier 'iteration'
Assertion failure: 'type->ty != Tstruct || ((TypeStruct *)type)->sym == this' on line 929 in file 'struct.c'
Building Debug\TestingDApp.exe failed!
Details saved as "file://C:\Users\Krythic\Desktop\TestingRoot\TestingDApp\TestingDApp\Debug\TestingDApp.buildlog.html"
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
哦,下面是打印出来的“详细信息另存为”:

Build Log  
Building Debug\TestingDApp.exe  
Command Line  
set PATH=C:\D\dmd2\windows\bin;C:\Program Files (x86)\Microsoft Visual Studio 12.0\\Common7\IDE;C:\Program Files (x86)\Windows Kits\8.1\\bin;%PATH%
dmd -g -debug -X -Xf"Debug\TestingDApp.json" -deps="Debug\TestingDApp.dep" -c -of"Debug\TestingDApp.obj" main.d
if errorlevel 1 goto reportError

set LIB="C:\D\dmd2\windows\bin\..\lib"
echo. > C:\Users\Krythic\Desktop\TestingRoot\TestingDApp\TestingDApp\Debug\TestingDApp.build.lnkarg
echo "Debug\TestingDApp.obj","Debug\TestingDApp.exe_cv","Debug\TestingDApp.map",user32.lib+ >> C:\Users\Krythic\Desktop\TestingRoot\TestingDApp\TestingDApp\Debug\TestingDApp.build.lnkarg
echo kernel32.lib/NOMAP/CO/NOI/DELEXE >> C:\Users\Krythic\Desktop\TestingRoot\TestingDApp\TestingDApp\Debug\TestingDApp.build.lnkarg

"C:\Program Files (x86)\VisualD\pipedmd.exe" -deps Debug\TestingDApp.lnkdep C:\D\dmd2\windows\bin\link.exe @C:\Users\Krythic\Desktop\TestingRoot\TestingDApp\TestingDApp\Debug\TestingDApp.build.lnkarg
if errorlevel 1 goto reportError
if not exist "Debug\TestingDApp.exe_cv" (echo "Debug\TestingDApp.exe_cv" not created! && goto reportError)
echo Converting debug information...
"C:\Program Files (x86)\VisualD\cv2pdb\cv2pdb.exe" "Debug\TestingDApp.exe_cv" "Debug\TestingDApp.exe"
if errorlevel 1 goto reportError
if not exist "Debug\TestingDApp.exe" (echo "Debug\TestingDApp.exe" not created! && goto reportError)

goto noError

:reportError
echo Building Debug\TestingDApp.exe failed!

:noError
Output  
C:\D\dmd2\windows\bin\..\..\src\phobos\std\range.d(287): Error: module std.range from file C:\D\dmd2\windows\bin\..\..\src\phobos\std\range.d conflicts with package name range
C:\D\dmd2\windows\bin\..\..\src\phobos\std\range.d(287): Error: module std.range from file C:\D\dmd2\windows\bin\..\..\src\phobos\std\range.d conflicts with package name range
C:\D\dmd2\windows\bin\..\..\src\phobos\std\array.d(1480): Error: undefined identifier 'iteration'
Assertion failure: 'type->ty != Tstruct || ((TypeStruct *)type)->sym == this' on line 929 in file 'struct.c'
Building Debug\TestingDApp.exe failed!
当我构建应用程序时,我会收到一个消息框,上面写着:


有人知道我可能做错了什么吗?

写我的评论作为回答,因为它似乎解决了问题:旧的编译器和库安装必须被删除,新的版本放在上面


在库的最新版本中,旧的range.d被替换为新的range/文件夹,但安装新版本后,旧文件仍保留在原来的位置。因此编译器感到困惑:它应该使用文件夹还是文件?unInstall+reinstall已清理,删除旧文件,只保留新文件。

您确定重新安装了编译器吗?看起来可能是版本不匹配。在几个版本之前,range.d是一个文件。现在,它是一个包含大量文件的文件夹。可能新文件夹被解压,旧文件保留,现在导致冲突。我会尝试删除旧的dmd2文件夹,并将其替换为新版本。@AdamD.Ruppe卸载所有内容后,我重新安装了它。这一次,我在新项目部分收到了一个不同的选项,它在最后包含了“dmd”。我想我第一次安装它时,它没有正确安装编译器。不过,我现在让它工作起来了。问题实际上是因为我检查了两个编译器版本,无论出于什么原因,新安装程序订阅了不推荐使用的编译器。为了修复它,我确保在安装过程中不选中旧编译器。