2017-02-17 5 views
0

Ich arbeite an Windows 7 mit Eclipse DS-5, um Projekte für Altera SoC (FPGA + ARM) zu kompilieren. Die Werkzeugkette wird von Altera-Tools geliefert, und es sieht aus wie folgt:Cross-Compilierung mit Bibliotheken

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] 

Die Altera SoC Board ist auf ARM Angstrom Linux-Distribution läuft.

Ich muss einige Bibliotheken hinzufügen (z. B. libcURL) und die Eclipse-Projekteinstellungen festlegen, um die Bibliothek in die Kompilierung einzubeziehen.

MEINE VERSTÄNDNIS: Bibliotheken enthalten im Allgemeinen 2 Komponenten. Die Header und die Bibliotheksdefinitionsdateien (im Binärformat). Der Compiler benötigt die Header-Dateien. Der Linker verknüpft dann die Bibliotheksdateien.

(Wenn etwas oben falsch ist, bitte korrigieren Sie mich).

meine Fragen:

1) Falls die Binär-Dateien sind nicht für den ARM-Prozessor geliefert, muss ich Altera-Tools verwenden müssen, um die Bibliothek Quellcode auf meinem Windows 7 Maschine mit ARM-Compiler zu kompilieren? Ich glaube, die Altera gelieferten Compiler-Terminal zu verwenden, um ./configure, machen

2) Für solche weit verbreitete Bibliotheken wie libcURL, gibt es vorkompilierte Binärdateien für verschiedene Plattformen. Woher weiß ich, wie die kompilierte Bibliothek aussieht? Welche Dateien sind notwendig, damit Eclipse das gesamte Projekt kompiliert (bitte spezifisch sein: * .lib, * .a, * .h, ...)

ZUSAMMENFASSUNG: Ich bin per Cross-Compilation verblüfft, bin ich nicht Sicher, welcher Compiler benötigt wird und welche Bibliotheksdateien benötigt werden.

Die häufigsten Fehler kam ich habe über ist:

cannot find -lcurl 

, dass der Compiler * .h Dateien sehen können, bedeutet, aber der Linker ist nicht in der Lage binäre Dateien zu finden?

Antwort

0

Schließlich habe ich folgendes:

Ich habe die Bibliothek Quelldateien auf meine Zielplattform (Altera De_nano_SoC ARM) kopiert und die Bibliothek dort (Angstrom Linux, Compiler Arm-Ångström-linux-gnueabi) zusammengestellt. Dies erfordert die Einstellung Konfiguration Datei im Bibliotheksordner und Ausführen von machen und make install Befehle.

Einmal kompiliert, kopierte ich die Ausgabedateien (Header * .h und statische Bibliotheksdateien * .a oder freigegebene Bibliotheksdateien * .so - abhängig von Kompilierung Konfiguration) zu meinem Host-Rechner (Windows 7). Dann habe ich die Dateien zu meinem Eclipse DS-5-Projekt hinzugefügt.

Die Eclipse benötigt den Pfad von .../Include-Ordner mit Header-Dateien * .h und dem .../lib-Ordner einschließlich * .a oder * .so-Dateien.

Verwandte Themen