【问题标题】:How can I run cl using x64?如何使用 x64 运行 cl?
【发布时间】:2016-12-11 23:05:54
【问题描述】:

我遇到了和这里fatal error C1034: windows.h: no include path set一样的问题

我输入了vcvars32.bat,这解决了我的问题,但我想链接一些 64 位 .lib 文件,当我这样做时:

cl main.cpp xxxlib.lib

我明白了:

warning LNK4272: library machine type 'x64' conflict with target machine type 'x86'

是不是因为我用的vcvars32.bat是32位的?我在哪里可以找到 64 位版本?

谢谢

【问题讨论】:

  • 使用 64 位命令行。基本上它只是设置路径,因此使用 64 位编译器。或者,您可以使用完整路径调用它。请记住,您可能还需要其他环境变量来正确设置包含和库路径。
  • @gbjbaanb 我的 .lib 文件与我的项目在同一个文件夹中,所以这不是问题。对不起,我知道这是一个有点愚蠢的问题,但我在哪里可以找到 64 位 cmd 行?
  • 按“开始”并输入“VS”,您应该会看到一堆“VS20xx Native Tools 命令提示符”快捷方式(一个用于 x86,一个用于 x64)。跨度>
  • 也尝试使用/MACHINE:X64链接器标志。

标签: c++ batch-file visual-c++ cl


【解决方案1】:

为了确保您设置了正确的环境变量,最简单的方法是在开始菜单中启动相应的命令 shell。

对于 64 位,这将是 Visual Studio x64 Win64 Command Prompt (2010),然后 cl.exe 会自动正确。如果您在开始菜单中显示此条目的属性,您还可以找到更多信息:

  • 开始于:“C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\”
  • 目标:%comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"" amd64

由此,您可以看到工作目录已设置,并使用amd64 参数调用vcvarsall.bat。这可能是你错过的。

【讨论】:

  • 太棒了,非常感谢。但是你知道我怎样才能把它设为默认配置吗?我问这个的原因是因为我要使用os.system()从 Python 执行这个命令。
  • 我认为您正在尝试完成与此处相同的操作:stackoverflow.com/questions/14697629 也许那里的回复已经有所帮助?
  • 就是这样。你今天救了我的命:)
  • 很高兴我能帮上忙。
猜你喜欢
  • 2018-03-13
  • 2015-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多