¿Cómo compilar una aplicación de 64 bits con Visual C ++ 2010 Express?

128

¿Hay una manera simple de compilar una aplicación de 64 bits con la edición de 32 bits de Visual C ++ 2010 Express? ¿Qué configuraciones, si hay alguna, son necesarias?

Nathan Osman
fuente

Respuestas:

181

Aquí hay instrucciones paso a paso:

  1. Descargue e instale el Kit de desarrollo de software de Windows versión 7.1. Visual C ++ 2010 Express no incluye un compilador de 64 bits, pero el SDK sí. Un enlace al SDK: http://msdn.microsoft.com/en-us/windowsserver/bb980924.aspx
  2. Cambia la configuración de tu proyecto. Vaya a Propiedades de su proyecto. En la parte superior del cuadro de diálogo habrá un menú desplegable "Configuración". Asegúrese de que selecciona "Todas las configuraciones". También habrá un menú desplegable "Plataforma" que leerá "Win32". Finalmente a la derecha hay un botón "Administrador de configuración": presiónelo. En el cuadro de diálogo que aparece, encuentre su proyecto, presione el menú desplegable Plataforma, seleccione Nuevo, luego seleccione x64. Ahora cambie el menú desplegable "Plataforma de solución activa" a "x64". Cuando regrese al cuadro de diálogo Propiedades, el menú desplegable "Plataforma" ahora debería leer "x64".
  3. Finalmente, cambie su conjunto de herramientas. En el menú Propiedades de su proyecto, en Propiedades de configuración | General, cambie Platform Toolset de "v100" a "Windows7.1SDK".

Estos pasos me han funcionado, de todos modos. Puede encontrar más detalles sobre el paso 2 en una referencia de Microsoft que menciona un póster anterior: http://msdn.microsoft.com/en-us/library/9yb4317s.aspx .

Mate
fuente
2
Enhorabuena, tu respuesta te ha valido 275 rep. ¡Gracias por una respuesta increíble!
Nathan Osman
Tengo Windows XP pero el SDK es para Windows 7. ¿Funcionará?
0x499602D2
@ 0x499602D2: No lo sé. Espero que si las versiones de Visual C ++ y SDK fueran las mismas, lo sería. ¿Lo intentaste?
Matt
2
Esto funcionó para mí solo después de instalar los parches 3 y 4 mencionados aquí: stackoverflow.com/a/8334985/429873
Dmitry Trofimov
1
@ Matt: todo esto funciona para mí en WinXP 64bit. ¿Cuál es la razón para cambiar Platform Toolset a Win7.1SDK?
IgorStack
48

Las herramientas de 64 bits no están disponibles en Visual C ++ Express de forma predeterminada. Para habilitar herramientas de 64 bits en Visual C ++ Express, instale el Kit de desarrollo de software de Windows (SDK) además de Visual C ++ Express. De lo contrario, se produce un error cuando intenta configurar un proyecto para apuntar a una plataforma de 64 bits con Visual C ++ Express.

Cómo: configurar proyectos de Visual C ++ para plataformas de 64 bits de destino

Ref: http://msdn.microsoft.com/en-us/library/9yb4317s.aspx


fuente
¿Está disponible para VB 2010 Express?
Remus Rigo
Por alguna razón, mi $ (WindowsSdkDir) no parecía funcionar bien, pero una vez que agregué las rutas absolutas manualmente, funcionó como un campeón.
rogerdpack
55
Después de seguir las instrucciones seguí obteniendo páginas de propiedades en blanco para la plataforma x64. Tuve que instalar la actualización de compiladores aquí . Más información en KB2519277 .
kipkennedy
14

Y asegúrese de descargar Windows7 .1 SDK, no solo Windows 7. Eso me causó muchos golpes en la cabeza.

Jamie Fristrom
fuente
9

Encontré un paso importante para agregar a esto: después de instalar el SDK, vaya a las propiedades de su proyecto y cambie Propiedades de configuración-> General-> Platform Toolset de v100 o lo que sea a Windows7.1SDK. Esto cambia $ (WindowsSdkDir) al lugar adecuado y parecía resolver algunas otras dificultades que también encontraba.

Mate
fuente
5

Tenga en cuenta que los compiladores de Visual C ++ se eliminan cuando actualiza Visual Studio 2010 Professional o Visual Studio 2010 Express a Visual Studio 2010 SP1 si está instalado Windows SDK v7.1.

Para obtener instrucciones sobre cómo resolver esto, consulte KB2519277 en el sitio de soporte de Microsoft.


fuente
55
Sería mejor servirlo como un comentario, ya que en realidad no responde la pregunta en cuestión.
Sabueso de seguridad
4

Descargue el SDK de Windows y luego vaya a Ver-> Propiedades-> Administrador de configuración-> Plataforma de solución activa-> Nuevo-> x64.

duduong
fuente
1
¿Cuál es el programa a ejecutar? No encuentro ningún programa con una "Vista" disponible
Stéphane Laurent
3

La programación en un entorno de 64 bits es bastante diferente del entorno de 32 bits. El código generado tiene una constitución de ensamblaje totalmente diferente en el código de 32 y 64 bits, incluso los protocolos de comunicación con las funciones cambian. Por lo tanto, no puede generar código de 64 bits con el compilador de 32 bits.

Es posible que desee ver un artículo en el sitio web de Microsoft sobre cómo apuntar a un objetivo de 64 bits pero utilizando una máquina de desarrollo de 32 bits.

perilbrain
fuente
La respuesta dada es según la documentación de Intel
perilbrain
Sí, es cierto que cualquier dependencia tendrá que (re) compilarse utilizando también el compilador de 64 bits, o el paso del enlace fallará.
rogerdpack
2

Como dijo Jakob: Windows SDK 7.1 no se puede instalar si MS VC ++ x64 y x86 runtimes y redisrtibutables de la versión 10.0.40219 están presentes. después de eliminarlos, la instalación de win sdk está bien, VS C ++ SP1 puede instalarse bien nuevamente.

Saludos cordiales

Hadrien Huvelle
fuente