ARM toolchain Linux Ubuntu - Include Link Problem

Gast #4428595
Hallo,

habe ein Olimex Board LPC-P2148 und habe das ARM Toolchain so wie hier 
installiert:
http://embdev.net/articles/ARM_GCC_toolchain_for_Linux_and_Mac_OS_X#Installation

Das kompilieren an sich funktioniert, flashen mit lpc21isp funktioniert 
auch, nun versuche ich ein Beispiel von "Martin THOMAS" mit dem 
etnsprechende Makefile zu kompilieren klappt aber mit dem inclulde 
Dateien leider nicht ganz.

Toolchain ist in Verzeichnis:

/usr/local/arm/

darunter:

arm-elf/include und hier habe ich dem Ornder "arch" von WinAVR mit 
weitere Header Dateien kopiert.

Wenn ich folgendes kompilieren will:

1
#include <stdio.h>
2
#include <errno.h>
3
/* from newlib-lpc */
4
#include <arch/philips/newlib-lpc/lpc210x.h>
5
#include <arch/philips/newlib-lpc/dev_cntrl.h>
6
#include <arch/philips/newlib-lpc/lpc_ioctl.h>
7
#include <arch/philips/newlib-lpc/lpc_sys.h>
8

9
// olimex LPC-P2106: one led on P0.7 (active low)
10
#define LEDPIN  7
11
// olimex LPC-P2106: one switch on P0.31 (active low)
12
#define SWPIN   31
13

14
/**** Device table.  List of device drivers for newlib.  ****/
15
  const struct device_table_entry *device_table[] = {
16
    &com1,  /* stdin  */
17
    &com1,  /* stdout */
18
    &com1,  /* stderr */
19
    0 
20
  };  /* end of list */
21

22
und so weiter ....

Gibt der Compiler folgende Fehlermeldung:
1
/usr/local/arm/lib/gcc/arm-elf/4.1.0/../../../../arm-elf/bin/ld: cannot find -lnewlib-lpc
2
collect2: ld gab 1 als Ende-Status zurück

Bedeutet, dass der Compiler dem Orner "newlib-lpc" wo anders haben will? 
wenn ja wie kann ich das ändern? bin leider nicht so fit mit Makefile.

Makefile in Anhang.

Danke in voraus.
Gruß
Angehängte Dateien:
Gast
Harry L. schrieb:
> Da fehlt der Pfad zu newlib-lpc im Library-Pfad.
> ggf. im Makefile anpassen.

Genau!
Leider kenne mich nicht viel aus mit Makefiles und weiss nicht genau wo 
ich es ändern kann.
Gast
Ich hatte in Makefile hier was ergänzt:

1
# List any extra directories to look for include files here.
2
#     Each directory must be seperated by a space.
3
#EXTRAINCDIRS = ./include
4
EXTRAINCDIRS = ./include/arch



 aber leider kein Treffer.
Gast
ok ich habs

Rufus Τ. F. schrieb:
> Wie rufst Du den Linker auf, und wo
> liegt die Library, die Du verwenden willst? Hast Du überhaupt eine
> Library, oder hast Du nur 'ne Handvoll Headerdateien und dazugehörigen
> Sourcecode?

Habe die Library's kopiert und sehe da, funktiniert!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.