Eclipse Pfade und Import von C-Files

OP #1849261
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
#1852457
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren