Cómo comstackr Qt 5 en Windows o Linux, 32 o 64 bit, estático o dynamic en VS2010, VS2012, VS2013 o VS2015 Express o g ++

Solo una publicación para ayudar a esos tipos que intentan hacer eso, ya que no tengo un blog.

Esto también funciona para Linux. Siéntase libre de editarlo y mejorarlo.

Nota: También hay otro artículo que escribí para comstackr desde la fuente de GIT aquí con una secuencia de comandos automatizada en Windows. Puede modificarlo para Linux ya que la diferencia se muestra en esta publicación.

Este artículo se actualiza continuamente. Si esto te ayuda, por favor dale “me gusta” para que sepa que está ayudando a la gente y no es inútil.

Si tiene algún comentario o ha encontrado errores tipográficos, hágamelo saber para que pueda solucionarlos.

En primer lugar, no importa si desea comstackr una versión de 32 o 64 bits. La única diferencia es el acceso directo del símbolo del sistema que debe elegir desde Visual Studio, que inicializará diferentes variables de entorno.


Comencemos con esto:

  1. Descargue e instale Perl: enlace de descarga

  2. Descargue e instale Python: enlace de descarga

  3. Descargue e instale Windows SDK (probablemente no sea necesario, pero sí lo recomiendo). Uso Windows 8, así que esta es la versión que utilicé: Enlace de descarga . De lo contrario, encuentre la versión adecuada para su Windows.

  4. Descargue e instale DirectX SDK (probablemente necesario si desea comstackr con OpenGL ) Enlace de descarga

  5. Descargue y extraiga jom en alguna carpeta (no es necesario para Linux) ( jom es una herramienta para comstackr cosas con VS en paralelo, hay una manera de hacerlo con nmake , pero no estoy familiarizado con esto) Enlace de descarga

  6. Descargue Qt Opensource y C:\Qt\Qt5.6 , por ejemplo, a C:\Qt\Qt5.6 , de modo que ahora la carpeta qtbase se puede encontrar en C:\Qt\Qt5.6\qtbase .

  7. Solo para Windows: ¿REALMENTE QUIERES QUE ESTE TOTALMENTE ESTÁTICO?

    Normalmente, incluso si elige que la comstackción sea estática, el comstackdor no fusionará sus bibliotecas de forma estática. Si desea que su fuente comstackda sea totalmente estática con respecto al comstackdor (Visual Studio), debe realizar esta modificación en los archivos QMAKE de Qt.

    Vaya al archivo (comenzando desde su directorio fuente Qt), para versiones posteriores a 2012, solo use la versión correcta en todas partes (como win32-msvc2015) :

    • a. Para VS2012: qtbase \ mkspecs \ win32-msvc2012 \ qmake.conf

    • segundo. Para VS2010 : qtbase \ mkspecs \ win32-msvc2010 \ qmake.conf

    • do. Para Qt 5.5.0 y posterior (con cualquier versión de VS): qtbase \ mkspecs \ common \ msvc-desktop.conf

    y edita las siguientes líneas

      QMAKE_CFLAGS_RELEASE = -O2 -MD QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi QMAKE_CFLAGS_DEBUG = -Zi -MDd 

    a

      QMAKE_CFLAGS_RELEASE = -O2 -MT QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi QMAKE_CFLAGS_DEBUG = -Zi -MTd 

Nota: Qt 5.6+ tiene un parámetro de configuración -static-runtime que hará esto por usted. Puede que ya no necesite hacer esto manualmente para nuevas versiones de Qt.

  1. Inicie el terminal en Linux, o en Windows, inicie los terminales de Visual Studio (que tienen configuradas las variables de entorno correctas o, alternativamente, use vcvarsall.bat ). Para iniciar el símbolo del sistema y dejar que lo haga automáticamente, vaya a Inicio, Todos los progtwigs:

    Para las versiones de Windows anteriores a 8: busque la carpeta Microsoft Visual Studio 201x e inicie el símbolo del sistema (ya sea x86 para 32 bits o x64 para 64 bits).

    Para Windows 8: vaya a Inicio , escriba “cmd” y aparecerán todas las versiones disponibles para el símbolo del sistema. Elija la versión de Visual Studio adecuada (x86 para 32 bits o x64 para 64 bits).

A continuación se muestra una captura de pantalla de cómo se ve. Siempre tienda a seleccionar “Nativo” si existe.

enter image description here

9.

  • Para VS2012: Ejecute los siguientes comandos para VS2012

      set QMAKESPEC=win32-msvc2012 set QTDIR=C:\Qt\Qt5.7\qtbase set PATH=C:\Qt\Qt5.7\qtbase\bin;%PATH% 

Nota: La QMAKESPEC la variable de entorno QMAKESPEC se considera incorrecta para las versiones de Qt 5.8+. No lo hagas para las nuevas versiones.

Para vinculación dinámica (necesita 8 GB)

 configure -debug-and-release -opensource -platform win32-msvc2012 -opengl desktop 

Para vinculación dinámica sin ejemplos (necesita 2 GB)

 configure -debug-and-release -opensource -platform win32-msvc2012 -opengl desktop -nomake examples -nomake tests Now the last command depends on what you want to compile. Just type configure -help and see what the available command-line parameters are. 

Para enlaces estáticos (necesita 70 GB, sí, es una locura, es más razonable no hacer los ejemplos y demostraciones).

 configure -debug-and-release -opensource -platform win32-msvc2012 -opengl desktop -static 

Para enlaces estáticos sin ejemplos (necesita 4 GB, tiene más sentido).

 configure -debug-and-release -opensource -platform win32-msvc2012 -opengl desktop -static -nomake examples -nomake tests 

Ahora esto tomará un minuto o dos, luego use jom de la siguiente manera (suponiendo que se extraiga en C: \ Qt \ jom):

 C:\Qt\jom\jom.exe -j 50 

50 representa la cantidad de núcleos que desea usar. Uso 50 porque tengo 8 hilos y usar solo 8 no ocupará todos los núcleos por completo, por lo tanto, es mejor, pero no seas tan avaro como podría hacer que tu sistema no responda.

  • Para VS2010: Ejecute los siguientes comandos para VS2010

     set QMAKESPEC=win32-msvc2010 set QTDIR=C:\Qt\Qt5.7\qtbase set PATH=C:\Qt\Qt5.7\qtbase\bin;%PATH% 

Nota: La QMAKESPEC la variable de entorno QMAKESPEC se considera incorrecta para las versiones de Qt 5.8+. No lo hagas para las nuevas versiones. Para vinculación dinámica (necesita 8 GB)

 configure -debug-and-release -opensource -platform win32-msvc2010 -opengl desktop 

Para vinculación dinámica sin ejemplos (necesita 2 GB)

 configure -debug-and-release -opensource -platform win32-msvc2010 -opengl desktop -nomake examples -nomake tests 

El último comando depende de lo que desea comstackr. Simplemente escriba configure -help y vea cuáles son los parámetros de línea de comando disponibles. Para enlaces estáticos (necesita 70 GB, sí, es una locura, es más razonable no hacer los ejemplos y demostraciones).

 configure -debug-and-release -opensource -platform win32-msvc2010 -opengl desktop -static 

Para enlaces estáticos sin ejemplos (necesita 4 GB, tiene más sentido).

 configure -debug-and-release -opensource -platform win32-msvc2010 -opengl desktop -static -nomake examples -nomake tests 

Ahora esto tomará un minuto o dos, luego use jom de la siguiente manera (suponiendo que se extraiga en C: \ Qt \ jom):

 C:\Qt\jom\jom.exe -j 50 

50 representa la cantidad de núcleos que desea usar. Uso 50 porque tengo 8 hilos y usar solo 8 no ocupará todos los núcleos por completo, por lo tanto, es mejor, pero no seas tan avaro como podría hacer que tu sistema no responda.

  • Para Linux:

Hay una pequeña diferencia para Linux sobre Windows. Se recomienda en Linux para instalar después de la comstackción. Honestamente, esta es la única forma en que funciona para mí sin problemas.

Ejecute los siguientes comandos para Linux. No olvides reemplazar las rutas con las rutas correctas de tu fuente de Qt

  export QMAKESPEC=linux-g++ export QTDIR=/home/username/Qt5.7/qtbase export PATH=/home/username/Qt5.7/qtbase/bin:$PATH 

Nota: La QMAKESPEC la variable de entorno QMAKESPEC se considera incorrecta para las versiones de Qt 5.8+. No lo hagas para las nuevas versiones.

Supongamos que desea instalar el origen comstackdo en el directorio /home/username/Qt5.7-install . En este caso, agregue lo siguiente a cualquiera de los comandos de configuración a continuación:

 -prefix /home/username/Qt5.7-install 

Advertencia : NO instale en el mismo directorio de origen. Eso está completamente mal!

Si -prefix no está establecido, se elegirá la ruta predeterminada, que es /usr/local/ supongo. No me gusta instalar nada usando root. Siempre prefiero instalar en mi carpeta de usuario, por lo que la reversibilidad y las actualizaciones no son un problema.

Los siguientes son diferentes comandos de configure posibles según lo que desee hacer.

Para vinculación dinámica (necesita 8 GB)

 ./configure -debug-and-release -opensource -platform linux-g++ -opengl desktop 

Para vinculación dinámica sin ejemplos (necesita 2 GB)

 ./configure -debug-and-release -opensource -platform linux-g++ -opengl desktop -nomake examples -nomake tests 

Ahora el último comando depende de lo que desea comstackr. Simplemente escriba ./configure -help y vea cuáles son los parámetros de línea de comando disponibles.

Para enlaces estáticos (necesita 70 GB, sí, es una locura, es más razonable no hacer los ejemplos y las pruebas).

 ./configure -debug-and-release -opensource -platform linux-g++ -opengl desktop -static 

Para enlaces estáticos sin ejemplos (necesita 4 GB, tiene más sentido).

 ./configure -debug-and-release -opensource -platform linux-g++ -opengl desktop -static -nomake examples -nomake tests 

Después de hacer, ejecutar ejecutar comando

 make -j 50 

50 representa la cantidad de núcleos que desea usar. Uso 50 porque tengo 8 hilos y usar solo 8 no ocupará todos los núcleos por completo, por lo tanto, es mejor, pero no seas tan avaro como podría hacer que tu sistema no responda.

  1. Espere 2+ horas hasta que la comstackción esté completa.

  2. ¡Limpiar! Puede ahorrar mucho espacio usando este comando para Windows: C:\Qt\jom\jom.exe clean Y este comando para linux: make clean

Puede reducir el tamaño de su carpeta comstackda de 8 GB a 2.5 GB (para vinculación dinámica) y de 70 GB a 35 GB (para vinculación estática).


Para usar esta versión comstackda en Qt Creator:

  1. Inicia Qt Creator
  2. Ir a Herramientas, Opciones
  3. Seleccione Build y Run de la lista a la izquierda.
  4. Ir a la pestaña “Versiones de Qt”
  5. Haga clic en “Agregar” y seleccione qhacer desde la carpeta donde está su contenedor en qtbase, por lo que desde arriba:

    C: \ Qt \ Qt5.7 \ qtbase \ bin \ qmake.exe

(o para Linux elija la ruta donde instaló la fuente comstackda de Qt, que es equivalente a /home/username/Qt5.7-install/qtbase/bin/qmake en este tutorial)

  1. Haga clic en “Aplicar”
  2. Ir a la pestaña “Kits”
  3. Haga clic en “Agregar”
  4. Dale un nombre, elige el comstackdor apropiado (PARA VISUAL STUDIO EXPRESS NO SELECCIONA amd64 PARA 64-BIT, NO FUNCIONARÁ, ELIJA x86_amd64 EN LUGAR)
  5. Haga clic en Aceptar.

Ahora solo abra un proyecto y lo encontrará pidiéndole que elija el kit que agregó.

Disfruta 🙂