2017-02-17 3 views
0

Je travaille sur Windows 7, en utilisant Eclipse DS-5, pour compiler des projets pour Altera SoC (FPGA + ARM). La chaîne d'outils est fourni par des outils Altera, et il se présente comme suit:Cross-compilation avec les bibliothèques

GCC C++ Compiler 4 [arm-linux-gnueabihf] 
GCC C Compiler 4 [arm-linux-gnueabihf] 
GCC Assembler 4 [arm-linux-gnueabihf] 
GCC C Linker 4 [arm-linux-gnueabihf] 
GCC C++ Linker 4 [arm-linux-gnueabihf] 
GCC Archiver 4 [arm-linux-gnueabihf] 

Le conseil Altera SoC est en cours d'exécution sur la distribution Linux Angstrom ARM.

J'ai besoin d'ajouter des bibliothèques (par exemple libcURL) et de définir les paramètres du projet Eclipse pour inclure la bibliothèque dans la compilation.

MY COMPRÉHENSION: Les bibliothèques contiennent en général 2 composants. Les en-têtes et les fichiers de définition de la bibliothèque (au format binaire). Le compilateur requiert les fichiers d'en-tête. Le lieur lie ensuite les fichiers de la bibliothèque.

(Si quelque chose ci-dessus est faux, s'il vous plaît corrigez-moi).

MES QUESTIONS:

1) Dans le cas où les fichiers binaires ne sont pas fournis pour le processeur ARM, ai-je besoin d'utiliser des outils Altera pour compiler le code source de la bibliothèque sur ma machine Windows 7 avec le compilateur ARM? Je crois utiliser le terminal de compilateur fourni par Altera, pour exécuter ./configure, make

2) Pour des bibliothèques très utilisées telles que libcURL, il existe des binaires précompilés pour différentes plates-formes. Comment savoir à quoi ressemble la bibliothèque compilée? Quels sont les fichiers nécessaires à Eclipse pour compiler l'ensemble du projet (veuillez préciser: * .lib, * .a, * .h, ...)

SOMMAIRE: Je suis perplexe par la compilation croisée, je ne suis pas bien sûr, quel compilateur est requis et quels sont les fichiers de bibliothèque requis.

erreur la plus commune je suis tombé sur est:

cannot find -lcurl 

Est-ce que cela signifie que le compilateur peut voir les fichiers * .h, mais le Linker ne parvient pas à localiser les fichiers binaires?

Répondre

0

Enfin, je l'ai fait ce qui suit:

J'ai copié les fichiers source de bibliothèque à ma plate-forme cible (Altera De_nano_SoC ARM) et compilé la bibliothèque il (Angstrom Linux, le compilateur bras-angström-linux-gnueabi). Cela nécessite la configuration du fichier de configuration dans le dossier de la bibliothèque et l'exécution de make et make install.

Une fois compilé, j'ai copié les fichiers de sortie (entêtes * .h et fichiers de bibliothèque statiques * .a OU fichiers de bibliothèque partagés * .so - en fonction de la compilation configuration) sur mon ordinateur hôte (Windows 7). Ensuite, j'ai ajouté les fichiers à mon projet Eclipse DS-5. L'Eclipse requiert le chemin de .../include dossier avec les fichiers d'en-tête * .h et le dossier .../lib incluant les fichiers * .a ou * .so.