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
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.
Préparation Qt
Téléchargez le logiciel open source Qt5.12.10 (fourni par le fournisseur de solution).
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).
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)
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
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 :
Je l'ai donc copié et utilisé directement l'outil SDK :
Étape 2 : configurer l'environnement système et introduire les outils de compilation croisée
Créez un script env.sh :
#!/bin/sh
export PATH=$PATH:/home/ht/work/tool/toolchain/bin
Utiliser le chemin :
source env.sh
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.
É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.
Étape 4 : Décompressez le code source de QT
cd ~/work/src
tar xvf qt-everywhere-src-5.12.10.tar.xz
É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 :
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 :
#!/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
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 :
Ht est l'utilisateur et /home/ht/xxx est configuré avec succès :
Étape 6 : Compiler Qt
Utilisez d'abord le multithread :
make -j8
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
É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