我对DMD编译器上的-m64开关有点困惑。具体来说,它的文档说明了这一点:
编译64位可执行文件。生成的目标代码位于MS-COFF中,旨在与Microsoft Visual Studio 10或更高版本的编译器一起使用。
现在,我已经尝试将它与我自己的.d文件一起使用,并且它始终失败并显示以下消息:
无法运行'\ bin \ link.exe',请检查路径
这是否意味着我需要有一个Microsoft Visual Studio 10(或更高版本)的副本来编译64位可执行文件?你可能已经猜到了,我在Windows 7上。
答案 0 :(得分:3)
在Windows上生成64位可执行文件需要配置DMD。不幸的是,它无法开箱即用。这些都在“Windows notes”页面上进行了解释。
简而言之,您需要将环境变量LINKCMD64设置为有效的Microsoft链接器。在运行dmd之前,可以通过执行set LINKCMD64=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\link.exe
从命令行执行此操作。问题在于它是一种时间解决方案。我更喜欢设置持久环境变量LINKCMD64。
“How to Create a Environmental Variable Windows 7”是一篇很好的文章,展示了如何在Windows 7上创建环境变量。
PS。您不需要购买Visual Studio。 Visual Studio Express(C ++)包含链接器。我也相信Platform SDK。有一个包只包含编译器,链接器和构建Windows应用程序所需的所有工具,但我不记得该包的名称。