2014-07-03 5 views
0

Mes problèmes here ont conduit à la solution/nouveau problème que j'ai naïvement construit la bibliothèque externe que j'utilise pour ma machine hôte.Cross-compiler une bibliothèque pour arm-none-eabi-gcc

Ainsi, bien sûr, le compilateur arm-none-eabi-gcc lance un ajustement lorsqu'il rencontre elf32-i386 fichiers objet.

I construit à l'origine de la bibliothèque à l'aide:

./configure 
make && make check 
make install 

Alors, maintenant, je pensais que je pourrais être en mesure de faire simplement:

make clean 
./configure --host=arm-none-eabi 
make && make check 
make install 

pour y remédier. Tristement triste.

J'ai également essayé --build=x86 mais il semble que cela soit détecté automatiquement.

CC=arm-none-eabi semble également n'avoir aucun effet.


Que dois-je faire pour être en mesure de construire cette bibliothèque pour relier lors de la compilation avec arm-none-eabi-gcc?

+0

Je ne suis pas sûr que votre question et la réponse sont utiles sans noter le paquet. Chaque configure/make peut avoir des besoins différents. Par exemple, certains projets construisent des programmes destinés à fonctionner sur l'hôte. –

+0

Vous ne dites même pas quel est le problème, à part "ça ne marche pas". – PlasmaHH

+0

@PlasmaHH Oui, je l'ai fait. 'elf32-i386' n'est évidemment pas désiré compiler pour' arm-none-eabi'. – OJFord

Répondre

0

J'ai été en mesure d'obtenir ce travail avec quelques options supplémentaires spécifiques à ce configure script.

Bien que je ne me rendais pas compte au moment de poser la question, ceux-ci varient, donc une certaine familiarité ou essai et erreur avec les options spécifiques disponibles (./configure --help devrait toujours énumérer ceux disponibles) est nécessaire.

Je devrais également noter que make check échouera toujours sur le système de construction, ainsi ne vaut pas la peine.

1

Vous utilisez un mauvais compilateur croisé.

arm-none-eabi est utilisé pour les programmes de métal nu. A la place, utilisez arm-none-linux-gnueabi-gcc qui contiendra la bibliothèque pour résoudre les comportements non définis.

Jetez un coup d'oeil @Cross compile error "arm-none-eabi-g++ cannot find entry symbol"

+0

Il semble construire son propre paquet de bibliothèque avec configure pour un appareil en métal nu. –

Questions connexes