Cómo hacer que Visual Studio use la herramienta nativa amd64

¿Cómo puedo hacer que Visual Studio 2012 use la cadena de herramientas nativa amd64, en lugar del comstackdor cruzado predeterminado x86_amd64?

Estoy construyendo una gran biblioteca que hace que el enlazador se quede sin memoria al hacer la optimización del progtwig completo y la generación de código de tiempo de enlace.

Encontré dos publicaciones más antiguas ( aquí y aquí ) haciendo esta misma pregunta, pero todavía no hay respuestas. Microsoft proporciona documentación sobre cómo especificar la cadena de herramientas en la línea de comandos , pero no en el IDE.

Debe establecer la variable de entorno “_IsNativeEnvironment” en “true” antes de iniciar Visual Studio 2012 IDE:

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

Para Visual Studio 2013, el nombre de la variable de entorno es diferente:

 set PreferredToolArchitecture=x64 sbm start "C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe" your_solution.sln 

Tenga en cuenta que esta técnica no funciona si la versión del IDE no coincide con la versión de la cadena de herramientas. Es decir, si usa el IDE VS2013 configurado para ejecutar el comstackdor VS2012, no tiene suerte. Pero tal combinación es poco común.

Aquí hay algunos enlaces para más información:

diferencia entre VS12 y VS13

cómo integrar PreferredToolArchitecture en el proyecto en VS13

Existe otro método para forzar el uso del enlazador de 64 bits por proyecto para Visual Studio 2013. Edite su archivo .vcxproj e inserte lo siguiente después de la línea :

    x64  

Si su objective es utilizar el entorno nativo en lugar de específicamente amd64_x86 , puede establecer la propiedad UseNativeEnvironment en su archivo de proyecto:

  true  

(Lo he agregado exitosamente al PropertyGroup “Globals”).

Puede verificar qué cadena de herramientas se está utilizando agregando la opción del comstackdor /Bv . Ejemplo de salida es a continuación. Observe que el directorio de la cadena de herramientas aparece después de bin\ ( amd64_x86 en este caso).

 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