gpt4 book ai didi

c++ - 如何让 Visual Studio 2012 调用 native 64 位 Visual C++ 编译器而不是 32 位 x64 交叉编译器?

转载 作者:可可西里 更新时间:2023-11-01 18:20:34 26 4
gpt4 key购买 nike

Visual Studio 2012 似乎总是调用 32 位版本的 cl.exe位于 %ProgramFiles(x86)%\Microsoft Visual Studio 11.0\VC\bin\x86_amd64 ) 而不是位于 %ProgramFiles(x86)%\Microsoft Visual Studio 11.0\VC\bin\amd64 的 64 位版本.

我尝试在 $(VCInstallDir)bin\amd64 前面加上到 Microsoft.Cpp.x64.userVC++ Directories 部分中“可执行目录”列表的开头属性表,但这根本不起作用——当我重建时我得到这个错误:

TRACKER : error TRK0002: Failed to execute command: "
"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\amd64\CL.exe"
@C:\Users\<my_profile>\AppData\Local\Temp\tmpf3d817cafe064ad28e7dd62b2cb591c3.rsp
". The operation identifier is not valid.

如何让 Visual Studio 2012 使用 native 64 位 C++ 编译器?

最佳答案

这个答案来晚了一点,但令人沮丧的是,微软的在线文档中仍然没有直接可用的好资源。事实证明这很容易,即使不是很方便。

在命令提示符下,键入(根据需要更改 VS 的版本):

> set _IsNativeEnvironment=true
> "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe" YourProject.sln

这个线索在文件中

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.targets

它说的地方

<SetEnv Condition="'$(_IsNativeEnvironment)' == 'true'"
Name ="PATH"
Value ="$(NativeExecutablePath)"
Prefix ="false">
<Output TaskParameter="OutputEnvironmentVariable" PropertyName="Path"/>
</SetEnv>

我的项目是用CMake生成的,所以我通常会在命令提示符下输入几行,然后才能打开VS。我总是在第一次设置 MSVC 环境后启动我的 CMake 生成器,所以老实说我不知道​​它是否需要,但你也可以选择这样做(在其他一切之前):

> call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" amd64

和/或

> call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\amd64\vcvars64.bat"

这是 original post on MSDN 的链接我终于找到了答案。

关于c++ - 如何让 Visual Studio 2012 调用 native 64 位 Visual C++ 编译器而不是 32 位 x64 交叉编译器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14188380/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com