Convertir projet x64 en ARM (Raspberry Pi)
-
Bonjour,
Dans la suite de mon projet de station météo, je tente depuis 2 jours de la faire fonctionner sur mon Raspberry Pi, ce qui était le but final.
Je l'ai donc développée sur mon ordi de bureau (Debian), elle fonctionne très bien dessus mais quand je l'envoies sur le RPi, j'ai une erreur
impossible d'exécuter le fichier binaire : Erreur de format pour exec()
De ce que j'ai lu, ça viendrait du fait que mon appli est en x64 alors que le RPi est en ARM.
J'ai donc fait des recherches, et je suis tombé sur 1 milliards de choses a faire pas supers claires et qui datent toutes un peu.dans ce style là :
https://wiki.qt.io/index.php?title=Raspberrypi_beginners_guide&redirect=no
http://ulasdikme.com/projects/raspberry/Qt_for_raspberrypi.phpMa question est donc : Est-ce que Qt peut compiler directement en ARM ? Si oui, Comment?
Merci à vous
-
@Ayckinn said in Convertir projet x64 en ARM (Raspberry Pi):
Ma question est donc : Est-ce que Qt peut compiler directement en ARM ?
Oui
Si oui, Comment?
=> ça dépends... mais comme qui dirait "ça dépends, ça dépasse" (comprendra qui pourra ;-) )
Quelle distribution est installé sur ta RPi?
-
Hey !! Ca va mec ? HAHAHA ben moi j'ai compris :D
Ben écoute, j'ai essayé avec Raspbian et Kali.. Sachant que mon Ordi de bureau est sur Kali aussi..
Toutes les procédures que j'ai trouvé sont un peu lourdes je trouve..
-
@Ayckinn Ca va merci, il fait soleil aujourd'hui, ça fait du bien au moral :)
j'ai pas la possibilité de faire le test maintenant, mais de mémoire, avec Raspbian il existe des package pour Qt5
unsudo apt-get install qt5-dev
devrais faire l'affaire.Après, il suffit de compiler les sources directement sur la RPi avec
qmake
suivit d'unmake
. -
@Ayckinn said in Convertir projet x64 en ARM (Raspberry Pi):
Quand tu dis "les sources" c'est tous les fichiers .ccp et .hpp 1 par 1 ?
Genre ?
qmake *.cpp *.hpp && make *En fait de sources, c'est tout le projet Qt:
- fichier project (extension .pro)
- fichiers sources (.cpp/.h)
qmake <nom_du_fichier.pro>
pour créer le fichier MakeFile
make
pour construire l'executableCe que je te conseil, c'est de créer un dossier où tu places tes fichiers.
Dans ce dossier, tu vas créer un sous-dossier (par exemplebuild
)
Et de ce dossier build, tu lancesqmake ../<nom_du_projet.pro> && make
-
@KroMignon
Ahh j'ai l'impression qu'on y est presque...
Maintenant j'ai cette erreur :ui_MoonWeather.h:162:41: error: ‘MarkdownText’ is not a member of ‘Qt’ latitude_lbl->setTextFormat(Qt::MarkdownText);
je n'ai jamais touché au fichier .ui.. je cherche d'où ça vient mais la compilation a fonctionnée
-
@Ayckinn said in Convertir projet x64 en ARM (Raspberry Pi):
je n'ai jamais touché au fichier .ui.. je cherche d'où ça vient
D'après la doc, Qt::MarkdownText n'est disponible qu'à partir de Qt 5.14.
Je n'ai aucune idée de la version que Qt qui est fourni avec Raspbian. -
J'ai trouvé, apparemment, dans les options des labels, j'avais mis MarkDown, mais je ne me souviens ni quand ni pourquoi j'aurais fait ça..
J'ai pu le régler en passant les option en "Auto Text"
Maintenant j'ai ça :
qt.qpa.screen: QXcbConnection: Could not connect to display Could not connect to any X display.
mais on y est presque
-
@Ayckinn said in Convertir projet x64 en ARM (Raspberry Pi):
qt.qpa.screen: QXcbConnection: Could not connect to display
Could not connect to any X display.Question idiote, je suppose tu lances ton application à distance à partir d'une session ssh?
Je pense qu'un
export DISPLAY=:0.0
avant de lancer l'executable ouDISPLAY=:0.0 ./<le_nom_du_programme>
devrait faire l'affaire. -
C'est pas idiot du tout. oui absolument, je la lance en SSH.
Et tu as raison, le problème vient de là car, si je la lance direct du RPi, elle fonctionne, mais ça m'embête de pas pouvoir la gérer en SSh..
J'ai essayé ta méthode mais ça ne marche pas, je suis dessus aussi..
Mais ENCORE UNE FOIS.. tu m'as sortis de la m*****.. T'es un grand mon ami !! ;)
-
@Ayckinn said in Convertir projet x64 en ARM (Raspberry Pi):
Mais ENCORE UNE FOIS.. tu m'as sortis de la m*****.. T'es un grand mon ami !! ;)
De rien :)
Laisse un message STP quand tu auras trouvé, je suis sure que tu vas trouver ;)
Je vais couper mon PC pour aujourd'hui.Bonne soirée!
-
Voici ce à quoi tu as TRES LARGEMENT contribué
Pour le problème d'affichage, tu avais raison.. Il fallait mettre cette ligne à la fin du fichier [.bashrc]
export DISPLAY=:0
Elle est totalement opérationnelle.. MERCI pour tout tes conseils ;)