Si el artículo es un artículo original, indique la fuente del artículo original al reproducirlo.
La dirección del blog de este artículo: https://hpzwl.blog.csdn.net/article/details/131045662
Desarrollo del sistema doméstico Kylin y del sistema Tongxin UOS
Anterior: " Notas de desarrollo del sistema UOS de Tongxin (2): El sistema UOS de Tongxin doméstico construye el entorno de desarrollo Qt e instala Qt5.12 "
Siguiente: " Notas de desarrollo del sistema UOS de Tongxin (4): Compilación e instalación desde el código fuente de Qt Compile e instale QtCreator4. 11.2, y configure la prueba de compilación Demo》
prefacio
El artículo anterior se instaló usando el paquete de instalación provisto por Qt. Algunos escenarios necesitan usar el Qt compilado por usted mismo, por lo que este artículo explica cómo compilar el código fuente Qt5.12.8 en el sistema Tongxin UOS.
Versión del sistema Tongxin UOS
versión del sistema:
Descarga del código fuente Qt
Consulte la publicación de blog " Obtenga y descargue el paquete de instalación de Qt, memorándum del sitio web nacional del código fuente de Qt (puede descargar varias versiones del paquete de instalación de Qt y el paquete de código fuente de Qt sin registrar una cuenta de Qt)" qué versión se requiere, el autor a menudo
usa Qt5.9 y dos versiones principales de Qt5.12, descargue Qt5.12.8 esta vez:
Debido a que lo compilamos nosotros mismos, generalmente usamos la versión de instalación de Qt de QtCreator cuando podemos instalar la versión de Qt, pero en este artículo, usamos el código fuente para compilar el código fuente de Qt. Entorno de construcción y compilación de código fuente (PD: conveniente de usar en base a otros chips domésticos, x86 y amd64 no se pueden instalar directamente).
Compilar e instalar Qt desde el código fuente (proceso abandonado)
Paso 1: Descarga y descomprime
tar xvf qt-everywhere-src-5.12.8.tar.xz
Paso 2: Configurar Qt
Ajustar el directorio actual:
cd /home/yang/work/src/qt-everywhere-src-5.12.8
Luego configure:
./configure -prefix /home/yang/work/qt5.12.8 \
-release \
-opensource \
-platform linux-g++ \
-make libs \
-optimized-qmake \
-pch \
-qt-libjpeg \
-qt-zlib \
-no-opengl \
-skip qt3d \
-skip qtcanvas3d \
-skip qtpurchasing \
-no-sse2 \
-no-openssl \
-no-cups \
-no-glib \
-no-iconv \
-nomake examples \
-nomake tools \
-skip qtvirtualkeyboard \
-v
./1.sh
ingrese y
Paso 3: resuelva el error de compilación "ERROR: la función 'precompile_header' estaba habilitada, pero la condición previa 'tests.precompile_header' falló".
Este problema se verifica porque la función está habilitada y el -no feature-precomplile_header está directamente deshabilitado:
Modifique los parámetros de configuración de 1.sh:
#!/bin/sh
./configure -prefix /home/yang/work/qt5.12.8 \
-release \
-opensource \
-platform linux-g++ \
-make libs \
-optimized-qmake \
-pch \
-qt-libjpeg \
-qt-zlib \
-no-opengl \
-skip qt3d \
-skip qtcanvas3d \
-skip qtpurchasing \
-skip webengine \
-no-sse2 \
-no-openssl \
-no-cups \
-no-glib \
-no-iconv \
-nomake examples \
-nomake tools \
-skip qtvirtualkeyboard \
-no-feature-precompile_header \
-v
Continuar para ejecutar:
./1.sh
La configuración fue exitosa.
Paso 4: Compile el código fuente de Qt
Basado en años de experiencia, este es un proceso que lleva al menos media hora...
make -j8
Ocurrió un error al compilar:
Para resolver este problema forzando a Qt a compilar soporte "neón" para procesadores ARM, simplemente modifique la siguiente línea en "qtbase/mkspecs/qmodule.pri" después de "./configure":
vi qtbase /mkspecs /qmodule.pri
(Ruta incorrecta: elimine precomplile_header durante la configuración para superarlo. Siempre he sentido que está mal. Esta vez el error es falta de definición. El blogger siempre ha sospechado este problema. Durante el proceso de investigación y desarrollo, descubrí que qmodule.pri tenía esta instrucción cuando fui a cambiar la cpu, así que simplemente fuerce que se le agregue directamente, pero después de demostraciones posteriores, todavía se informa este error, por lo que equivale a una hora para demostrar que es irrelevante, Continúe intentándolo, pero qmodule.pri todavía está modificado, porque la reserva es una función regular) Tengo algunos
aquí Este error no ha progresado mucho durante horas, y el análisis del código fuente no lo ha resuelto por algún tiempo. Ahora que no está muerto, regrese y pruebe otras rutas de configuración.
Qt compilado e instalado desde el código fuente
Paso 1: Descarga y descomprime
tar xvf qt-everywhere-src-5.12.8.tar.xz
Paso 2: Configurar Qt
Ajustar el directorio actual:
cd /home/yang/work/src/qt-everywhere-src-5.12.8
Luego configure:
./configure -prefix /home/yang/work/qt5.12.8 \
-confirm-license \
-release \
-opensource \
-v
Configurar a través de:
(PS1: A veces vas en la dirección equivocada desde el principio, el umbral es de 2 horas, y si supera las 2 horas, retrocede un paso para encontrar una solución) (PS2: Es demasiado tarde, continuaré mañana
)
Paso 3: Compile el código fuente de Qt
Básicamente, la configuración está totalmente habilitada, la configuración es relativamente buena y la compilación general tomó más de media hora.
make -j8
Agregue una marca (para evitar subprocesos múltiples, una compilación se cuelga pero no se detiene demasiado rápido y otros subprocesos eliminan la salida)
Paso 4: Instalar hacer instalar
make install
Hay muchas cosas compiladas anteriormente, y tomó más de diez minutos completar la instalación aquí.
Paso 5: verifique Qt usando qmake
En este punto, se puede compilar qmake, pero no hay qtcreator. El siguiente artículo compilará qtcreator y configurará la biblioteca de compilación de este artículo para probar el entorno de desarrollo.
Anterior: " Notas de desarrollo del sistema UOS de Tongxin (2): El sistema UOS de Tongxin doméstico construye el entorno de desarrollo Qt e instala Qt5.12 "
Siguiente: " Notas de desarrollo del sistema UOS de Tongxin (4): Compilación e instalación desde el código fuente de Qt Compile e instale QtCreator4. 11.2, y configure la prueba de compilación Demo》
Si el artículo es un artículo original, indique la fuente del artículo original al reproducirlo.
La dirección del blog de este artículo: https://hpzwl.blog.csdn.net/article/details/131045662