Notes de développement RK3588 (1) : compilation croisée Qt5.12.10 basée sur l'hôte fourni par le fournisseur de solutions

Si l'article est un article original, veuillez indiquer la source de l'article original lors de sa réimpression
L'adresse du blog de cet article :https ://hpzwl.blog.csdn .net/article/details/133618273

La collection d'articles de blog sur la technologie réseau de Red Fat Man : une collection de technologies de développement (y compris la technologie pratique Qt, Raspberry Pi, 3D, OpenCV, OpenGL, ffmpeg, OSG, microcontrôleur, combinaison logicielle et matérielle, etc.) est continuellement mise à jour. ..

Chronique de développement Rockchip

Article précédent : Aucun
Article suivant : "Notes de développement RK3588 (2) : Présentation de l'environnement de compilation croisée d'hôtes mpp et sdk Qt5.12.10


Préface

  rk3588 développe des machines automobiles.La machine hôte fournie dans le plan compile uniquement la version de rk sdk et ne compile pas Qt, vous devez donc compiler de manière croisée le système Qt par vous-même. La version sélectionnée de Qt est la 5.12.10.


Préparation de l'hôte

  Téléchargez et ouvrez l'hôte, il n'y a que le SDK et il n'y a pas de Qt compilé de manière croisée.
  Insérer la description de l'image ici


Préparation Qt

  Téléchargez le logiciel open source Qt5.12.10 (fourni par le fournisseur de solution).
  Insérer la description de l'image ici


Préparation de l'outil de compilation croisée

  Téléchargez la chaîne d'outils de compilation croisée fournie (fournie par le fournisseur de solution).
  Insérer la description de l'image ici


Compiler la préparation du système de fichiers sysroot

  Téléchargez le système de compilation cible dont dépend la compilation (fourni par le fournisseur de solution)
  Insérer la description de l'image ici


Commencer la compilation croisée de Qt

Étape 1 : Décompressez la chaîne d'outils de compilation

cd ~/tool
tar xvf aarch64-rockchip1031-linux-gnu.tar.gz

  Insérer la description de l'image ici

  J'ai trouvé que l'outil fourni séparément n'avait pas l'outil g++ sous bin, j'ai donc dû le comparer et j'ai constaté que la carte de développement était la même, avec bin :
  Insérer la description de l'image ici

  Je l'ai donc copié et utilisé directement l'outil SDK :
  Insérer la description de l'image ici

  Insérer la description de l'image ici

Étape 2 : configurer l'environnement système et introduire les outils de compilation croisée

  Créez un script env.sh :
  Insérer la description de l'image ici

#!/bin/sh
export PATH=$PATH:/home/ht/work/tool/toolchain/bin

  Utiliser le chemin :

source env.sh

  Insérer la description de l'image ici

  Insérer la description de l'image ici

  Insérer la description de l'image ici

  J'ai constaté que cela ne correspond pas à la plate-forme indiquée dans le plan, mais ils sont tous connectés à la même cible. Essayons d'abord.
  Insérer la description de l'image ici

Étape 3 : Décompressez la racine système

  Pendant le processus de compilation, il n'y a fondamentalement aucune dépendance à l'égard de la bibliothèque du système cible compilé, il n'est donc généralement pas nécessaire de configurer sysroot. S'il est dépendant, par exemple, la compilation d'opencv qui prend en charge ffmpeg s'appuie sur ffmpeg qui a été compilé par Le système de compilation croisée, puis placez ffmpeg dans sysroot. Vous pouvez également introduire directement des bibliothèques supplémentaires séparément. Il existe de nombreuses façons et je n'entrerai pas dans les détails.
  Insérer la description de l'image ici

Étape 4 : Décompressez le code source de QT

cd ~/work/src
tar xvf qt-everywhere-src-5.12.10.tar.xz

  Insérer la description de l'image ici

  Insérer la description de l'image ici

Étape 5 : configurer Qt

  Modifiez le fichier de configuration de la plateforme :

cd /home/ht/work/src/qt-everywhere-src-5.12.10/qtbase/mkspecs/linux-aarch64-gnu-g++
gedit qmake.conf

  Changez le nom du compilateur :
  Insérer la description de l'image ici

  Ensuite configurez (si la configuration de la plateforme est utilisée ici, vous devez localiser le fichier de configuration de la plateforme. Il existe également un moyen de remplacer directement le préfixe du compilateur croisé, mais pas ici) :
  Créez un fichier ici pour faciliter le débogage, passez au dossier de code source de qt :
  Insérer la description de l'image ici

   Insérer la description de l'image ici

#!/bin/bash
./configure \
  -prefix /home/ht/work/build-qt5.12.10 \
  -sysroot /home/ht/work/sysroot \
  -confirm-license \
  -opensource \
  -release \
  -make libs \
  -xplatform linux-aarch64-gnu-g++ \
  -no-opengl \
  -no-feature-completer \
  -verbose

  Puis configurez :

chmod +x mk.sh
./mk.sh

  Insérer la description de l'image ici
  Il y a un échec de compilation du pit ici. Le chemin est défini par l'utilisateur sur yang, mais il s'agit en fait de ht, donc le chemin racine est introuvable :
  Insérer la description de l'image ici

  Ht est l'utilisateur et /home/ht/xxx est configuré avec succès :
  Insérer la description de l'image ici

Étape 6 : Compiler Qt

  Utilisez d'abord le multithread :

make -j8

  Insérer la description de l'image ici
  Insérer la description de l'image ici

  exécutez à nouveau une seule marque. (Diverses erreurs se produiront. La même machine virtuelle et le même code auront également des erreurs différentes. Lorsque vous rencontrez un problème, essayez d'abord de le résoudre. Si vous ne pouvez pas le résoudre, trouvez un moyen de le contourner. Si vous rencontrez vraiment un problème de compatibilité, qui ne peut pas être résolu d'un coup, des machines virtuelles compilées sont donc généralement fournies).

make

  Insérer la description de l'image ici

Étape 7 : Installer Qt

make install

Article précédent : Aucun
Article suivant : "Notes de développement RK3588 (2) : Présentation de l'environnement de compilation croisée d'hôtes mpp et sdk Qt5.12.10


Si l'article est un article original, veuillez indiquer la source de l'article original lors de sa réimpression
L'adresse du blog de cet article :https ://hpzwl.blog.csdn .net/article/details/133618273

Je suppose que tu aimes

Origine blog.csdn.net/qq21497936/article/details/133618273
conseillé
Classement