Cómo compilar Qt para Visual Studio 2010


137

Me costó encontrar un tutorial que ofrezca una solución estable para usar Qt con Visual Studio 2010, por lo que después de recopilar todos los bits de información y algunas pruebas y errores, me gustaría escribir mi solución en una guía.

El problema, o ¿por qué no es posible usar binarios preconstruidos?

Parece que el uso de binarios creados para Visual Studio 2008 podría funcionar en algunos casos especiales, pero descubrí que no funcionan. En mi caso, compilaron OK, pero producen errores de tiempo de ejecución, como este:

problema2

o cuando se inició desde Visual Studio 2010:

problema

Actualización : encontré una publicación de blog que analiza por qué funciona para algunas personas, mientras que no lo hace para otras. En una palabra, depende de si tiene Visual Studio 2008 instalado en la misma máquina o no. http://blog.paulnettleship.com/2010/11/11/troubleshooting-visual-studio-2010-and-qt-4-7-integration/

Lo más importante (que estúpidamente no me di cuenta) fue el hecho de que NO PUEDE usar las bibliotecas compiladas de Visual Studio 2008 y los archivos DLL (disponibles en la página web de Qt) si no tiene instalado Visual Studio 2008. La razón es porque el SDK de Qt que descarga es una compilación de depuración que depende del VC9.0 DebugCRT, lo que significa que necesita el Visual C ++ 2008 Debug Runtime instalado, que NO está disponible como un instalador redistribuible. La única forma de instalar DebugCRT es instalar la totalidad de Visual Studio 2008.


Gracias por tu esfuerzo. Además, podría ser útil explicar por qué uno no debería usar los binarios VS 2008. Desarrollé algunos proyectos de prueba prototipo con ellos y VS2010 sin experimentar ningún problema, pero recuerdo que alguien mencionó que hay problemas de implementación.
Ralf

He añadido mis experiencias a la última sección. En general, encontré muchos informes en la red que le dicen que debe compilar Qt si desea usarlo con VS2010. Hay una página que le dice que podría ser la presencia de VS2008.
hyperknot

Fantástico, estoy seguro de que mucha gente va a resultar útil :)
Ralf

Oye, esto es lo que obtengo cuando lo hago nmake. He utilizado el siguiente antes de intentar construir: configure.exe -release -no-ltcg.
Mateen Ulhaq

2
Para futuras referencias, puede interesarle saber que el sitio de documentación de Qt realmente tiene las instrucciones de instalación para compilar desde la fuente .
Ephphatha

Respuestas:


142

En primer lugar, es muy importante comprender que para usar Qt con Visual Studio 2010, no es posible usar los binarios precompilados que se crearon para Visual Studio 2008 , pero debe compilarlo desde el origen.

Descargando Qt

En https://www.qt.io/download/

Actualización 2017: la última rama de Qt 4.x (Qt 4.8.6) tiene 2 paquetes preconstruidos, que ahora están en la sección de archivo:

  1. http://download.qt.io/archive/qt/4.8/4.8.6/qt-opensource-windows-x86-vs2010-4.8.6.exe
  2. http://download.qt.io/archive/qt/4.8/4.8.6/qt-opensource-windows-x86-vs2008-4.8.6.exe

No debe descargar Qt haciendo clic en "Bibliotecas Qt 4.8.6 para Windows (Visual Studio 2008, 218 MB)" , sino haciendo clic en el enlace "zip" que se encuentra arriba.

selección de enlace

En ese enlace, obtienes un gran archivo zip como "qt-everywhere-opensource-src-4.8.6.zip" . Descomprima esto en una carpeta y haga que su ruta sea algo agradable y pequeño, por ejemplo "E: \ Qt"

Símbolo del sistema de Visual Studio

Ahora que tenemos las fuentes, necesitamos construir los binarios. Para hacerlo, abra el Microsoft Visual Studio 2010\Visual Studio Tools\Visual Studio Command Prompt (2010)enlace desde su menú de inicio, o incluso anclarlo a la barra de tareas (una buena idea). Este es un símbolo del sistema especial que tiene todas las variables establecidas para compilar con las herramientas de Visual Studio 2010.

Una vez dentro del símbolo del sistema, navegue a su carpeta Qt extraída utilizando el modo DOS de la vieja escuela, lo que significa que debe cambiar la letra de la unidad E:, ingresar directorios por cd Qty enumerar el contenido del directorio por dir. Puede usar la tecla de tabulación para ayudarlo con los nombres de directorio. Cuando haya llegado al directorio correcto, un dircomando debería devolver algo como esto.

línea de comando

Edificio Qt

Ahora es el momento de configurar y construir. Para configurar un Qt minimalista, estoy usando los siguientes indicadores con configure.exe. Simplemente cópielo y péguelo en la línea de comando. Busque en el manual de referencia de Qt qué indicador usar o no usar.

configure.exe -release -no-webkit -no-phonon -no-phonon-backend -no-script -no-scripttools -no-qt3support -no-multimedia -no-ltcg

Una vez que configure.exehaya terminado (fueron 10 minutos para mí), deberá comenzar el proceso de compilación. Tomará alrededor de 20-30 minutos con las banderas anteriores. Para comenzar, simplemente escriba:

nmake

Establecer variables de entorno

Básicamente, hemos terminado. Todo lo que necesita hacer es configurar sus variables de entorno ( QTDIRy PATH), que le dicen a los programas dónde encontrar Qt. Si está en Windows 7, puede usar el siguiente comando para configurar QTDIRsu directorio de instalación.

setx QTDIR e:\Qt

Para configurar el PATH, le recomiendo usar Path Editor . Dentro del editor de ruta

add the directory of Qt\bin to your PATH

(no importa si está en la ruta del sistema o en la ruta del usuario)

Si prefiere usar Control Panel\System\Environment Variables, también puede configurarlos allí.

Complemento Qt Visual Studio

Aquí tiene, después de un inicio de sesión o un reinicio, todas las aplicaciones de demostración de Qt deberían iniciarse correctamente (recomiendo echar un vistazo a bin \ qtdemo.exe ). Ahora puede descargar e instalar el complemento de Visual Studio (qt-vs-addin-1.1.9.exe) desde la página de descarga de Qt, funcionará perfectamente.

complemento

Apéndice A: Instrucciones oficiales:

Hay una página en el wiki oficial en el sitio web de Qt llamada Qt 4.8 Instalación de Qt para Windows , pero encontré que carece de información importante.

Referencias

Foros de Qt DevNet Indicadores
recomendados para una compilación minimalista de Qt
Building Qt 4.5 con Visual C ++ 2010
Cómo compilar Qt como
Qt estático 4.8: Configurar opciones para Qt
Editar la variable de entorno PATH en
Windows sin problemas - op111.net


2
Esto es genial, pero agregaría -qt-sql-sqlite a los indicadores de configuración si no desea tener problemas con su Qt Assistant personalizado. Parece que necesita este complemento para leer las bases de datos de documentación con éxito.
neuviemeporte

Gran guía! Una nota: estaba tratando de configurarlo durante un día o dos y en el proceso había agregado algunas variables de ruta a mingw: estas rompieron nmake y debían eliminarse antes de que las cosas funcionaran.
David Hall

2
Una nota más: las herramientas VS rechazan la creación de QT si hay algunos espacios en la ruta a la carpeta donde se encuentran las fuentes QT. Al menos lo hace en mi caso.
Roman Kruglov

10
Solo una pregunta: ¿por qué Qt todavía no proporciona una distribución precompilada VS 2010?
Matt Montag

2
Solo para informarles chicos. El enlace en la publicación original ya no funciona. Se necesita bastante tiempo para buscar en el sitio de Digia y descubrir que el complemento ni siquiera está allí. El enlace principal que uno debe seguir es: qt-project.org/downloads
paul23

25

Qt V4.8.0 contiene binarios preconstruidos para Visual Studio 2010, por lo que ya no necesita hacer esto: http://qt.nokia.com/downloads/windows-cpp-vs2010


2
parsley72 los binarios preconstruidos para Visual Studio 2010 solo son útiles si planea trabajar en modo de depuración de 32 bits, de lo contrario, la guía publicada por zsero es muy útil, especialmente si se desea cambiar las opciones relacionadas con la arquitectura.

¡Absolutamente! Pero la pregunta se hizo antes de que las bibliotecas preconstruidas estuvieran disponibles, por lo que estoy informando a la gente que ahora hay una alternativa.
perejil72

1

Siempre es bienvenido un enlace a una solución potencial, pero agregue contexto alrededor del enlace para que sus usuarios tengan una idea de qué es y por qué está allí. Siempre cite la parte más relevante de un enlace importante, en caso de que no se pueda acceder al sitio de destino o se desconecte permanentemente. Tenga en cuenta que ser apenas más que un enlace a un sitio externo es una posible razón de por qué y cómo se eliminan algunas respuestas .
Maximilian Ast
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.