Compiler construction 带DMD的64位可执行文件

Compiler construction 带DMD的64位可执行文件,compiler-construction,64-bit,d,Compiler Construction,64 Bit,D,我对DMD编译器上的-m64开关有点困惑。具体而言,它的文档说明如下: 编译64位可执行文件。生成的目标代码采用MS-COFF格式,用于Microsoft Visual Studio 10或更高版本的编译器 现在,我尝试将其用于我自己的.d文件,但总是失败,并显示以下消息: 无法运行“\bin\link.exe”,请检查路径 这是否意味着我需要一份Microsoft Visual Studio 10(或更高版本)的副本来编译64位可执行文件?正如您可能已经猜到的,我使用的是Windows 7。在

我对DMD编译器上的-m64开关有点困惑。具体而言,它的文档说明如下:

编译64位可执行文件。生成的目标代码采用MS-COFF格式,用于Microsoft Visual Studio 10或更高版本的编译器

现在,我尝试将其用于我自己的.d文件,但总是失败,并显示以下消息:

无法运行“\bin\link.exe”,请检查路径


这是否意味着我需要一份Microsoft Visual Studio 10(或更高版本)的副本来编译64位可执行文件?正如您可能已经猜到的,我使用的是Windows 7。

在Windows上生成64位可执行文件需要配置DMD。不幸的是,它不能开箱即用。所有的解释都在“”页上

简而言之,您需要将环境变量LINKCMD64设置为有效的Microsoft链接器。在运行dmd之前,您可以从命令行执行
set LINKCMD64=C:\Program Files(x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\link.exe
。问题是这是一个暂时的解决方案。我更喜欢设置持久性环境变量LINKCMD64

“”是一篇展示如何在Windows 7上创建环境变量的好文章


另外,您不需要购买Visual Studio。(C++)包含链接器。我也相信平台SDK。有一个包只包含编译器、链接器和构建Windows应用程序所需的所有工具,但我不记得该包的名称。

在Windows上生成64位可执行文件需要配置DMD。不幸的是,它不能开箱即用。所有的解释都在“”页上

简而言之,您需要将环境变量LINKCMD64设置为有效的Microsoft链接器。在运行dmd之前,您可以从命令行执行
set LINKCMD64=C:\Program Files(x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\link.exe
。问题是这是一个暂时的解决方案。我更喜欢设置持久性环境变量LINKCMD64

“”是一篇展示如何在Windows 7上创建环境变量的好文章


另外,您不需要购买Visual Studio。(C++)包含链接器。我也相信平台SDK。有一个包只包含编译器、链接器和构建Windows应用程序所需的所有工具,但我不记得该包的名称。

在Windows上生成64位可执行文件需要配置DMD。不幸的是,它不能开箱即用。所有的解释都在“”页上

简而言之,您需要将环境变量LINKCMD64设置为有效的Microsoft链接器。在运行dmd之前,您可以从命令行执行
set LINKCMD64=C:\Program Files(x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\link.exe
。问题是这是一个暂时的解决方案。我更喜欢设置持久性环境变量LINKCMD64

“”是一篇展示如何在Windows 7上创建环境变量的好文章


另外,您不需要购买Visual Studio。(C++)包含链接器。我也相信平台SDK。有一个包只包含编译器、链接器和构建Windows应用程序所需的所有工具,但我不记得该包的名称。

在Windows上生成64位可执行文件需要配置DMD。不幸的是,它不能开箱即用。所有的解释都在“”页上

简而言之,您需要将环境变量LINKCMD64设置为有效的Microsoft链接器。在运行dmd之前,您可以从命令行执行
set LINKCMD64=C:\Program Files(x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\link.exe
。问题是这是一个暂时的解决方案。我更喜欢设置持久性环境变量LINKCMD64

“”是一篇展示如何在Windows 7上创建环境变量的好文章



另外,您不需要购买Visual Studio。(C++)包含链接器。我也相信平台SDK。有一个软件包只包含编译器、链接器和构建Windows应用程序所需的所有工具,但我不记得该软件包的名称。

谢谢您的回答。是否有我不必付费的有效Microsoft链接器?Visual Studio是一个相当昂贵的产品…是的,Visual Studio Express是免费的IDE。安装C++支持和VoILA,你有链接器。我已经完成了你建议的所有内容。Visual Studio Express有两个链接器—一个位于
\bin\amd64\u x86\link.exe
,另一个位于
\bin\link.exe
。正如您所说,我创建了path变量,但是我仍然得到与以前相同的错误消息,只是其中有一个不同的路径。确切地说,我无法运行“C:\ProgramFiles(x86)\Microsoft Visual Studio 12.0\VC\bin\link.exe”,请检查路径,另一个选项会显示相同的错误消息。我遗漏了什么吗?我假设一个是32位,第二个是64位。我建议您使用amd64_x86 one。另外,请注意您的LINKCMD64值是否正确(我想知道您为什么会得到这些双引号)。我已经更正了LINKCMD64值(似乎它不需要引号),并且正在使用您建议的链接器。现在我收到以下错误消息:
LINK:致命错误LNK1171:无法加载mspdb120.dll(错误代码:126)---errorlevel 1171
我仍然不确定这次发生了什么。感谢您的回答。是否有我不必付费的有效Microsoft链接器?Visual Studio是一个相当昂贵的产品…是的,Visual Studio Express是免费的IDE。安装C++支持和VoILA,你有链接器。我已经完成了你建议的所有内容。Visual Studio Express有两个链接器—一个位于
\bin\amd64\u x86\link.exe
,另一个位于
\bin\link.exe
。正如您所说,我创建了path变量,但是我仍然得到与以前相同的错误消息,只是其中有一个不同的路径。确切地说,我