Ky *_*gel 30 c++ 64-bit compilation visual-studio
如何让Visual Studio 2012使用本机amd64工具链,而不是默认的x86_amd64交叉编译器?
我正在构建一个大型库,在进行整个程序优化和链接时代码生成时会导致链接器内存不足.
我找到两个较旧的帖子(这里和这里)提出同样的问题,但还没有答案.Microsoft提供了有关如何在命令行上指定工具链但不在IDE中指定工具链的文档.
the*_*ill 36
还有另一种方法可以在Visual Studio 2013的基础上强制使用64位链接器.编辑.vcxproj文件并在行后面插入以下内容<Import...Microsoft.Cpp.Defaults
:
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup>
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
小智 34
在启动Visual Studio 2012 IDE之前,需要将环境变量"_IsNativeEnvironment"设置为"true":
set _IsNativeEnvironment=true
start "C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe" your_solution.sln
Run Code Online (Sandbox Code Playgroud)
对于Visual Studio 2013,环境变量的名称不同:
set PreferredToolArchitecture=x64
sbm start "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe" your_solution.sln
Run Code Online (Sandbox Code Playgroud)
请注意,如果IDE的版本与工具链的版本不匹配,则此技术不起作用.也就是说,如果你使用VS2013 IDE配置运行VS2012编译器,那你就不走运了.但这种组合并不常见.
以下是一些链接以获取更多信息:
如何在Windows13中将PreferredToolArchitecture嵌入到项目中
如果您的目标是使用本机环境而不是具体使用amd64_x86
,则可以UseNativeEnvironment
在项目文件中设置该属性:
<PropertyGroup>
<UseNativeEnvironment>true</UseNativeEnvironment>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
(我已成功将其添加到"Globals"PropertyGroup.)
您可以通过添加/Bv
编译器选项来检查正在使用的工具链.示例输出如下.请注意,工具链目录显示在bin\
(amd64_x86
在本例中)之后.
2>ClCompile:
2> Compiler Passes:
2> C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64_x86\CL.exe: Version 18.00.31101.0
2> C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64_x86\c1.dll: Version 18.00.31101.0
2> C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64_x86\c1xx.dll: Version 18.00.31101.0
2> C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64_x86\c2.dll: Version 18.00.31101.0
2> C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64_x86\link.exe: Version 12.00.31101.0
2> C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\mspdb120.dll: Version 12.00.31101.0
2> C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64_x86\1033\clui.dll: Version 18.00.31101.0
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18912 次 |
最近记录: |