Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 28/05/2016, à 22:54

jean448

CROSS compilation

Bonjour,

Je suis actuellement entrain de faire un programme à destination d'un Raspberry, le programme utilise la librairie mysql.h

Sur le raspberry pour compiler j'utilise g++ avec `mysql_config --cflags --libs`
Pour gagner du temps je pensais à la cross compilation avec un PC sous ubuntu server 64bits

Pour la cross compilation j'utilise : arm-linux-gnueabi-g++ local.cpp -o setup `mysql_config --cflags --libs`

mais j'ai cette erreur :

/usr/lib/x86_64-linux-gnu/libmysqlclient.so: file not recognized: Format de fichier non reconnu
collect2: erreur: ld a retourné 1 code d'état d'exécution

Je suppose un problème de linkage, un peu paumé, je viens demander l'avis d'un pros wink

Hors ligne

#2 Le 28/05/2016, à 23:42

J5012

Re : CROSS compilation

normalement la compilation croisé est reservé aux programmeurs avances : on ne peut pas vraiment donner une marche à suivre aux debutants parce que ca demande plusieurs couches de connaissances ... pour avoir une idee, recupere donc la doc de clfs !

en resumé , pour cross compiler :
- tu n'as pas l'environnement cible pour le compilateur
- tu crees un chroot pour t'isoler de l'environnement hote
- dans ce chroot tu commences par creer les outils necessaires pour ta plateforme cible

ton application de compilation "arm-linux-gnueabi-g++" cherche ce type d'environnement : arm + libs

que retourne ton compilateur ?

arm-linux-gnueabi-g++ -v

l'installation de la "toolchain" permet de se passer du chroot ...
http://www.acmesystems.it/arm9_toolchain
à adapter à ton contexte !

Hors ligne

#3 Le 10/06/2016, à 21:14

robrobin

Re : CROSS compilation

tu compiles pour arm en linkant pour PC 64bits

Je te conseille de te former aux docker (https://docs.docker.com/docker-hub)
d'utiliser des dockers prévu pour la cross compilation (https://hub.docker.com/r/sdt4docker/ras … -compiler/ qui justement est fait pour ça)
ça t'éviteras de perdre du temps à configurer ton environnement.

tu verras ça fonctionne tout seul

Hors ligne