mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Eclipse Pfade und Import von C-Files


Autor: Lukas Simma (lsimma)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wie ist das bei Eclipse ?

Es gibt einen Folder und einen Source Folder. Wann wird ein Source 
Folder verwendet und was macht der spezielles ?

Wenn ich ein simples main.c direkt im Projektverzeichniss erstelle dann 
kann ich fehlerfrei kompilieren.

Wenn ich ein src Verzeichnis erstelle und dann das main.c in diesen 
Ordern verschiebe dann bekomme ich den Fehler
*** No rule to make target `main.o', needed by `stm32_io_toggle'
Wo muss ich im Eclipse den Pfad zum src eintrage so dass der Compiler 
das main.c wieder findet ... oder denke ich zu kompliziert ?

Wenn ich ein Projet mit der stm32 standard peripherie library erstellen 
will, reicht es die Libraries/CMSIS... und 
Libraries/STM32F10x_StdPeriph_Driver... in das Projekt zu importieren 
oder muss dem Eclipse noch jeder Pfad auf die Sourcen und Haeders 
definiert werden.

Besten Dank,
Lukas

Autor: Thomas Holland (innot)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Es gibt einen Folder und einen Source Folder. Wann wird ein Source
> Folder verwendet und was macht der spezielles ?

Eclipse muss wissen, welche Dateien es kompilieren soll und welche 
nicht.
Ein normaler Folder wird beim Build ignoriert. Bei einem Source-Folder 
werden alle enthaltenen .c Dateien für ein Build verwendet.



> Wenn ich ein simples main.c direkt im Projektverzeichniss erstelle dann
> kann ich fehlerfrei kompilieren.

Das Projektverzeichnis ist per Default ein Source Folder.

> Wenn ich ein src Verzeichnis erstelle und dann das main.c in diesen
> Ordern verschiebe dann bekomme ich den Fehler
> *** No rule to make target `main.o', needed by `stm32_io_toggle'
> Wo muss ich im Eclipse den Pfad zum src eintrage so dass der Compiler
> das main.c wieder findet ... oder denke ich zu kompliziert ?

Project Properties -> C/C++ General -> Paths and Symbols -> Source 
Location -> Add Folder

Danach noch sicherheitshalber den 'Debug' resp. 'Release' Folder im 
Projektverzeichnis löschen und Eclipse sollte die main.c wieder 
erfolgreich kompilieren.

>
> Wenn ich ein Projet mit der stm32 standard peripherie library erstellen
> will, reicht es die Libraries/CMSIS... und
> Libraries/STM32F10x_StdPeriph_Driver... in das Projekt zu importieren
> oder muss dem Eclipse noch jeder Pfad auf die Sourcen und Haeders
> definiert werden.

Das hängt stark davon ab, ob 'stm32' eine echte Library ist, oder nur 
eine Codesammlung. Ich gehe mal von letzterem aus und dann kannst Du die 
Library importieren, und die entsprechenden Folders als 'Source Folder' 
markieren (s.o.).

Dann musst Du aber auch noch dem Compiler sagen, wo er die Includes der 
stm32 Library finden kann (Source-Folder reicht da nicht)

Dazu den Pfad Libraries/CMSIS etc. bei "Project Properties -> C/C++ 
Build -> Settings -> Tool Settings -> AVR Compiler -> Directories" 
hinzufügen.

Damit könnte es schon funktionieren, aber wahrscheinlich musst Du noch 
ein bisschen probieren, bis es richtig funktioniert.

Thomas

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.