{"id":447,"date":"2025-01-20T02:04:58","date_gmt":"2025-01-20T02:04:58","guid":{"rendered":"https:\/\/marcjuneau.ca\/?p=447"},"modified":"2025-01-23T14:50:04","modified_gmt":"2025-01-23T14:50:04","slug":"installation-et-compilation-de-qt6-sur-le-raspberry-pi-5-en-30-minutes","status":"publish","type":"post","link":"https:\/\/marcjuneau.ca\/?p=447","title":{"rendered":"Installation et compilation de Qt6 sur le Raspberry Pi 5, en 30 minutes :)"},"content":{"rendered":"\n\n\n<figure class=\"wp-block-image size-large is-resized is-style-default\"><a href=\"https:\/\/youtu.be\/McfN1EstS7g\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"574\" src=\"https:\/\/marcjuneau.ca\/wp-content\/uploads\/2025\/01\/rpi-installQt-front-1024x574.png\" alt=\"\" class=\"wp-image-448\" style=\"width:512px;height:287px\" srcset=\"https:\/\/marcjuneau.ca\/wp-content\/uploads\/2025\/01\/rpi-installQt-front-1024x574.png 1024w, https:\/\/marcjuneau.ca\/wp-content\/uploads\/2025\/01\/rpi-installQt-front-300x168.png 300w, https:\/\/marcjuneau.ca\/wp-content\/uploads\/2025\/01\/rpi-installQt-front-768x430.png 768w, https:\/\/marcjuneau.ca\/wp-content\/uploads\/2025\/01\/rpi-installQt-front-465x261.png 465w, https:\/\/marcjuneau.ca\/wp-content\/uploads\/2025\/01\/rpi-installQt-front-695x389.png 695w, https:\/\/marcjuneau.ca\/wp-content\/uploads\/2025\/01\/rpi-installQt-front.png 1071w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n\n\n<p>Ce tutoriel permet de r\u00e9aliser l&rsquo;installation de Qt6 sur un Raspberry Pi 5. L&rsquo;exemple est fait avec le Raspberry Pi 5 et prend environ 5 minutes d&rsquo;op\u00e9rations au clavier. Ajoutez environ 30 minutes pour la compilation donc en presque de 30 minutes, vous devriez pouvoir cr\u00e9er votre premi\u00e8re interface GUI dans Qt <strong>directement\u00a0<\/strong>sur\u00a0le\u00a0Pi.<\/p>\n<p>Le\u00a0fichier\u00a0installQtCmd.txt\u00a0contient\u00a0toutes\u00a0les\u00a0commandes\u00a0utilis\u00e9es.<\/p>\n<p>Vous\u00a0pouvez\u00a0\u00e9galement\u00a0consulter\u00a0cette\u00a0vid\u00e9o\u00a0pour\u00a0vous\u00a0aider\u00a0:\u00a0<a href=\"https:\/\/youtu.be\/McfN1EstS7g\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/youtu.be\/McfN1EstS7g<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1280\" height=\"720\" src=\"https:\/\/marcjuneau.ca\/wp-content\/uploads\/2025\/01\/materiel1.jpg\" alt=\"\" class=\"wp-image-449\" style=\"width:640px;height:360px\" srcset=\"https:\/\/marcjuneau.ca\/wp-content\/uploads\/2025\/01\/materiel1.jpg 1280w, https:\/\/marcjuneau.ca\/wp-content\/uploads\/2025\/01\/materiel1-300x169.jpg 300w, https:\/\/marcjuneau.ca\/wp-content\/uploads\/2025\/01\/materiel1-1024x576.jpg 1024w, https:\/\/marcjuneau.ca\/wp-content\/uploads\/2025\/01\/materiel1-768x432.jpg 768w, https:\/\/marcjuneau.ca\/wp-content\/uploads\/2025\/01\/materiel1-465x262.jpg 465w, https:\/\/marcjuneau.ca\/wp-content\/uploads\/2025\/01\/materiel1-695x391.jpg 695w\" sizes=\"auto, (max-width: 1280px) 100vw, 1280px\" \/><\/figure>\n\n\n\n<p>Vous&nbsp;aurez&nbsp;besoin&nbsp;pour&nbsp;cette&nbsp;exp\u00e9rimentation&nbsp;de&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>1&nbsp;Raspberry&nbsp;Pi&nbsp;(je&nbsp;vous&nbsp;recommande&nbsp;le&nbsp;Pi5&nbsp;il&nbsp;est&nbsp;vraiment&nbsp;tr\u00e8s&nbsp;rapide)<\/li>\n\n\n\n<li>1&nbsp;Ordinateur&nbsp;si&nbsp;vous&nbsp;faite&nbsp;le&nbsp;tout&nbsp;par&nbsp;VNC.&nbsp;Sinon&nbsp;Clavier,&nbsp;souris,&nbsp;\u00e9cran&nbsp;sur&nbsp;le&nbsp;Pi<\/li>\n\n\n\n<li>1&nbsp;Bloc&nbsp;d&rsquo;alimentation&nbsp;sp\u00e9cifique&nbsp;pour&nbsp;le&nbsp;Pi&nbsp;que&nbsp;vous&nbsp;utilisez<\/li>\n\n\n\n<li>1&nbsp;Carte&nbsp;m\u00e9moire&nbsp;avec&nbsp;l&rsquo;OS&nbsp;du&nbsp;Pi<\/li>\n\n\n\n<li>1&nbsp;bon&nbsp;caf\u00e9<\/li>\n<\/ul>\n\n\n\n<h2 style=\"text-align: center;\">\u00c9tape 1 &#8211; Configurer l&rsquo;OS<\/h2>\n<p>Si ce n&rsquo;est pas d\u00e9j\u00e0 fait, il faudra proc\u00e9der \u00e0 l&rsquo;installation de l&rsquo;OS et \u00e0 l&rsquo;activation du serveur VNC sur le Raspberry Pi 5. Pour cette \u00e9tape, consultez les vid\u00e9os suivants :<\/p>\n<p>(Vid\u00e9o\u00a01)\u00a0<a href=\"https:\/\/youtu.be\/BFAfxQ4iEQk\" target=\"_blank\" rel=\"noopener noreferrer\">Installation\u00a0de\u00a0l&rsquo;OS\u00a0sur\u00a0un\u00a0Raspberry\u00a0Pi\u00a05\u00a0<\/a><\/p>\n<p>(Vid\u00e9o\u00a02)\u00a0<a href=\"https:\/\/youtu.be\/_tBsivmVN28\" target=\"_blank\" rel=\"noopener noreferrer\">Connexion\u00a0au\u00a0Raspberry\u00a0Pi\u00a0en\u00a0SSH\u00a0&#8211;\u00a0sans\u00a0\u00e9cran\u00a0ni\u00a0clavier<\/a><\/p>\n<p>Fichier des commandes (<a href=\"https:\/\/marcjuneau.ca\/wp-content\/uploads\/2025\/01\/installQtCmd.txt\">TXT<\/a>)<\/p>\n<h2 style=\"text-align: center;\">\u00c9tape 2 &#8211; Update &amp; Upgrade<\/h2>\n<p>Avant\u00a0toute\u00a0nouvelle\u00a0installation,\u00a0pensez\u00a0\u00e0\u00a0mettre\u00a0\u00e0\u00a0jour\u00a0les\u00a0listes\u00a0et\u00a0faire\u00a0les\u00a0mises\u00a0\u00e0\u00a0jour\u00a0:<\/p>\n<pre class=\"ql-indent-1\">sudo\u00a0apt\u00a0update<br \/>sudo\u00a0apt\u00a0upgrade<\/pre>\n<h2 style=\"text-align: center;\">\u00c9tape 3 &#8211; Installation de CMAKE<\/h2>\n<p>CMAKE va permettre de compiler les fichiers de Qt pour le syst\u00e8me sur lequel nous ferons l&rsquo;installation, ici notre Raspberry Pi qui roule l&rsquo;OS classique du Pi.<\/p>\n<pre class=\"ql-indent-1\">sudo\u00a0apt\u00a0install\u00a0cmake<\/pre>\n<h2 style=\"text-align: center;\">\u00c9tape 4 &#8211; R\u00e9pertoires d&rsquo;installation<\/h2>\n<p>Nous\u00a0allons\u00a0maintenant\u00a0cr\u00e9er\u00a0un\u00a0r\u00e9pertoire\u00a0pour\u00a0recevoir\u00a0les\u00a0fichiers\u00a0d&rsquo;installation\u00a0avant\u00a0de\u00a0les\u00a0compiler.\u00a0Les\u00a0commandes\u00a0suivantes\u00a0vont\u00a0cr\u00e9er\u00a0un\u00a0r\u00e9pertoire\u00a0code\/Qt\u00a0dans\u00a0lequel\u00a0seront\u00a0t\u00e9l\u00e9charg\u00e9s\u00a0toutes\u00a0les\u00a0composantes\u00a0Qt\u00a0que\u00a0nous\u00a0allons\u00a0installer.<\/p>\n<pre class=\"ql-indent-1\"><em>mkdir\u00a0-p\u00a0~\/code\/qt<\/em><br \/><em>cd ~\/code\/qt<\/em><br \/><em>sudo apt-get install build-essential libgl1-mesa-dev<\/em><\/pre>\n<h2 style=\"text-align: center;\">\u00c9tape 5 &#8211; Installation de Qt-base<\/h2>\n<p>Cette\u00a0\u00e9tape\u00a0installe\u00a0les\u00a0librairies\u00a0requises\u00a0pour\u00a0Qt-Base\u00a0puis\u00a0elle\u00a0t\u00e9l\u00e9charge\u00a0les\u00a0sources\u00a0de\u00a0Qt-Base.\u00a0L&rsquo;archive\u00a0sera\u00a0d\u00e9compress\u00e9e\u00a0puis\u00a0les\u00a0sources\u00a0seront\u00a0compil\u00e9es.\u00a0Avec\u00a0le\u00a0Pi5\u00a0cette\u00a0\u00e9tape\u00a0devrait\u00a0prendre\u00a0environ\u00a025\u00a0minutes.<\/p>\n<pre class=\"ql-indent-1\"><em>sudo\u00a0apt\u00a0install\u00a0\\<\/em><br \/><em>libinput-dev libts-dev \\<\/em><br \/><em>libxcb-render-util0-dev \\<\/em><br \/><em>libxcb-render0-dev \\<\/em><br \/><em>libxcb-shape0-dev \\<\/em><br \/><em>libxcb-randr0-dev \\<\/em><br \/><em>libxcb-xfixes0-dev \\<\/em><br \/><em>libxcb-xkb-dev \\<\/em><br \/><em>libxcb-sync-dev \\<\/em><br \/><em>libxcb-shm0-dev \\<\/em><br \/><em>libxcb-icccm4-dev \\<\/em><br \/><em>libxcb-keysyms1-dev \\<\/em><br \/><em>libxcb-image0-dev \\<\/em><br \/><em>libxcb-util-dev \\<\/em><br \/><em>libxcb-cursor-dev \\<\/em><br \/><em>libxkbcommon-dev \\<\/em><br \/><em>libxkbcommon-x11-dev \\<\/em><br \/><em>libfontconfig-dev \\<\/em><br \/><em>libfreetype-dev \\<\/em><br \/><em>libxext-dev \\<\/em><br \/><em>libx11-dev \\<\/em><br \/><em>libx11-xcb-dev \\<\/em><br \/><em>libxcb1-dev \\<\/em><br \/><em>libsm-dev \\<\/em><br \/><em>libice-dev \\<\/em><br \/><em>libglib2.0-dev <\/em><br \/><br \/><em>wget https:\/\/download.qt.io\/official_releases\/qt\/6.5\/6.5.3\/submodules\/qtbase-everywhere-src-6.5.3.tar.xz<\/em><br \/><br \/><em>tar\u00a0-xvf\u00a0qtbase-everywhere-src-6.5.3.tar.xz<\/em><br \/><em>mkdir qtbase-everywhere-src-6.5.3\/build<\/em><br \/><em>cd qtbase-everywhere-src-6.5.3\/build<\/em><br \/><br \/><em>..\/configure<\/em><br \/><em>cmake --build . --parallel<\/em><br \/><em>sudo cmake --install .<\/em><\/pre>\n<p>Apr\u00e8s\u00a0la\u00a0compilation,\u00a0ajoutez\u00a0le\u00a0chemin\u00a0vers\u00a0le\u00a0Qt\u00a0dans\u00a0le\u00a0profile<\/p>\n<pre class=\"ql-indent-1\">echo\u00a0\"export\u00a0PATH=\/usr\/local\/Qt-6.5.2\/bin:\\$PATH\"\u00a0&gt;&gt;\u00a0~\/.profile<br \/>source ~\/.profile<\/pre>\n<h2 style=\"text-align: center;\">\u00c9tape 6 &#8211; Installation de Qt Creator<\/h2>\n<p class=\"ql-indent-1\">Derni\u00e8re \u00e9tape avant de faire notre premi\u00e8re application, installer Qt Creator. Avant de lancer l&rsquo;installation, nous allons faire une mise \u00e0 jour compl\u00e8te pour s&rsquo;assurer que tout est bien \u00e0 jour.<\/p>\n<pre class=\"ql-indent-1\">sudo apt update<br \/>sudo apt full-upgrade<br \/>sudo apt-get install qtcreator<br \/><br \/><\/pre>\n\n\n\n<p class=\"has-text-align-left\"><br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ce tutoriel permet de r\u00e9aliser l&rsquo;installation de Qt6 sur un Raspberry Pi 5. L&rsquo;exemple est fait avec le Raspberry Pi 5 et prend environ 5 minutes d&rsquo;op\u00e9rations au clavier. Ajoutez environ 30 minutes pour la compilation donc en presque de 30 minutes, vous devriez pouvoir cr\u00e9er votre premi\u00e8re interface GUI<span class=\"more-link\"><a href=\"https:\/\/marcjuneau.ca\/?p=447\">Continue Reading<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,4,8],"tags":[],"class_list":["entry","author-mjuneau","post-447","post","type-post","status-publish","format-standard","category-cc","category-qt","category-raspberry-pi"],"_links":{"self":[{"href":"https:\/\/marcjuneau.ca\/index.php?rest_route=\/wp\/v2\/posts\/447","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/marcjuneau.ca\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/marcjuneau.ca\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/marcjuneau.ca\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/marcjuneau.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=447"}],"version-history":[{"count":7,"href":"https:\/\/marcjuneau.ca\/index.php?rest_route=\/wp\/v2\/posts\/447\/revisions"}],"predecessor-version":[{"id":459,"href":"https:\/\/marcjuneau.ca\/index.php?rest_route=\/wp\/v2\/posts\/447\/revisions\/459"}],"wp:attachment":[{"href":"https:\/\/marcjuneau.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=447"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/marcjuneau.ca\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=447"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/marcjuneau.ca\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=447"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}