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


von Lukas S. (lsimma)


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

von Thomas H. (innot)


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.