【发布时间】:2011-02-02 15:18:32
【问题描述】:
我想使用 Windows 命令行编译一个简单的 hello-world 风格的程序。
cl file_name.c
很简单。现在我想在 64 位中做同样的事情。我该怎么办?
【问题讨论】:
标签: c visual-studio command-line compiler-construction 64-bit
我想使用 Windows 命令行编译一个简单的 hello-world 风格的程序。
cl file_name.c
很简单。现在我想在 64 位中做同样的事情。我该怎么办?
【问题讨论】:
标签: c visual-studio command-line compiler-construction 64-bit
从 Visual Studio x64 命令提示符运行 cl。
【讨论】:
您需要使用发出 x64 代码的 cl.exe 编译器版本。哪一个取决于您的设置。
让我们考虑一下您在 64 位计算机上的情况。为此,您需要使用位于
的编译器c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\cl.exe
如果您使用的是 32 位机器,则需要使用位于
的交叉编译器c:\Program Files\Microsoft Visual Studio 10.0\VC\bin\x86_amd64\cl.exe
【讨论】:
正如其他人所提到的,答案取决于您使用的是本机 x64 编译器还是交叉编译器。这个网页应该可以帮助你http://msdn.microsoft.com/en-us/library/x4d2c09s.aspx
【讨论】:
您也可以使用批处理文件“Vcvarsall.bat”(默认情况下,该文件的完整路径是 C:\Program Files\Microsoft Visual Studio 8\VC\Vcvarsall.bat,对于 VS2005)。
如果未提供参数,此批处理文件将配置使用 x86 32 位编译器所需的环境变量。但它可用于配置任何 64 位编译器,例如使用本机 64 位编译器传递“amd64”作为参数。然后运行 cl.exe。
【讨论】:
凯尔是对的。这只是正确设置 PATH 环境变量的问题。常规 x86 编译器位于 vc\bin 子目录中。有两个64位编译器,一个32位编译器在vc\bin\x86_amd64中生成64位代码,一个64位编译器在vc\bin\amd64中生成64位代码。
默认的 Visual Studio 设置始终使用 32 位编译器来生成 64 位代码。
请注意,默认情况下不安装 64 位编译器。如果您没有使用自定义安装选项,则必须重新运行 setup.exe。并重新运行 SP1 安装程序。
【讨论】:
如果你有代码作为项目的一部分,你可以使用如下
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe" myproject.sln /Build "Release|x64"
从以下链接获取
http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/ed855b9d-55ef-49f1-bf27-f20a79be687e
【讨论】:
从“Visual Studio x64 命令提示符”或类似“VS 2017 的 x64 本机工具命令提示符”之类的东西运行 cl。运行where cl 以查看您正在运行的“cl”的路径。路径中应包含“x64”或“amd64”之类的内容。
开始菜单搜索有时可能无济于事。尝试输入“vs20xx”或“vs 20xx”而不是“visual studio”来找到它。提示的名称随版本而变化。如果它没有说“64”,那么它会设置一个32位的环境。
64 位提示往往只是调用带有 64 位参数的“Vcvarsall.bat”,但该参数会随着时间而改变,并且可能不向后兼容。
【讨论】: