2010-04-08 8 views
6

Me preguntaba si alguien tiene experiencia en el mantenimiento de una aplicación Qt en Visual Studio (2008+) que tenga plataformas Win32 (32 bits) y x64 (64 bits).Visual Studio: ¿Cómo configurar Qt para un proyecto que contiene plataformas de 32 y 64 bits?

El proyecto predeterminado de Qt viene solo con la biblioteca de 32 bits. Si bien sé cómo construir Qt como de 64 bits, ¿cómo se configura Visual Studio, Qt, etc. para que pueda cambiar fácilmente entre los dos?

Respuesta

1

Actualmente estamos haciendo esto. Nuestra forma de hacerlo utiliza hojas de propiedades heredadas.

Primero creamos una hoja de propiedades maestra que contiene todas las configuraciones, rutas, macros, etc. que son comunes a todas las configuraciones. Encontramos que colocarlos en el directorio raíz de la solución es la forma más conveniente.

A continuación, para cada configuración, depurar/liberar & 32/64bit hicimos 4 hojas de propiedades de acumulación separadas que -

  1. Cada heredan la hoja de utilería (usar Vista/Administrador de propiedades de la barra de herramientas VS).
  2. Configure cada hoja para vincularla a la biblioteca de Qt correcta dll.

Ahora, para la parte tediosa: para cada proyecto en su solución, hay 4 propiedades separadas. Ahora debe heredar cada hoja de propiedades de construcción en la configuración de propiedad respectiva del proyecto. Por ejemplo, la propiedad de lanzamiento de 32 bits debe ser heredada por la configuración de la propiedad de lanzamiento de 32 bits.

Suponiendo que todos los dll de Qt están en el mismo directorio, toda la configuración debería funcionar de la misma manera.

+0

Parece doloroso, pero no soy consciente de que hay una manera mejor. qmake puede generar makefiles específicos para sistemas de 32 bits y de 64 bits (así como depuración y liberación). Entonces, si no tiene que personalizarlos, puede generar archivos de solución VS usando QMake. Entonces, la única pregunta real es si puede encontrar una manera de usar el mismo conjunto de archivos fuente con las diferentes soluciones. –

+0

Tiene razón acerca de QMake. Pero tenemos una serie de configuraciones personalizadas que no funcionan con QMake ya que también usamos las hojas de propiedades para configurar las opciones de tiempo de ejecución. Sin embargo, el dolor con nuestra técnica es solo una vez cuando se crea un proyecto, por lo que no está en marcha. –

Cuestiones relacionadas