include <> MPLAB FatFs HILFE!

Gast #2824610
Lesenswert?

Hallo Leute, versuche bereits seit 3 Stunden die FatFs-Library für den 
PIC32 zu compilieren.

Bekomme jedoch immer die Meldung File not found bei folgenden Dateien:

#include <FatFs/diskio.h>
#include <FatFs/ff.h>

etc...

das Project-Fenster sieht wie im Anhang aus, die Include Dateien wurden 
in den Subdirectory FatFs hineingefügt, werden aber nicht gefunden.

Was mache ich falsch????


Gruß M.H.
Angehängte Dateien:
#2824623
Lesenswert?

M. H. schrieb:
> Werds gleich mal testen.
>
> Jim Meba schrieb:
>> Die <...> bedeuten 'such im Include Pfad', die "..." bedeuten 'such
>> (auch) im aktuellen Verzeichnis'.
>
> Im Beispielprojekt von MICROCHIP wird das aber so gemacht und es
> funktioniert!!!

Schön.
Ist trotzdem Quatsch.

Hast du im Beispielprojekt mal nachgesehen, ob da zusätzliche INclude 
Pfade in der IDE eingestellt wurden?


gewöhn dich daran

  <  >      sind systemspezifische Header
  " "       sind projektspezfische Header
Gast #2824624
Lesenswert?

Mit Aunführungszeichen gehts nicht, da die Datei nicht im Ordner 
./FatFs/diskio.h liegt sondern im Ordner ./include/fatfs/diskio.h

Nochmal angemerkt:

Das Beispielprojekt von Microchip geht auf diese weise.
Gast #2824640
Lesenswert?

M. H. schrieb:
> das Project-Fenster sieht wie im Anhang aus, die Include Dateien wurden
> in den Subdirectory FatFs hineingefügt, werden aber nicht gefunden.
>
> Was mache ich falsch????

Hast du das Verzeichnis "Header Files" denn auch in deinem  Include-Pfad 
angegeben? Wie sieht denn die Compiler-Kommandozeile aus?
Übrigens: Datei- und Verzeichnisnamen, die Leerzeichen enthalten, sollte 
mal beim Compiler vermeiden. Die führen häufig zu Problemen.
#2824651
Lesenswert?

M. H. schrieb:
> Karl Heinz Buchegger schrieb:
>> Dann gibts da halt eben den Pfad mit dem zusätzlichen include an.
>
> sorry, aber was für ein zusätzliches include?
>
> Vesteh ich nicht ganz.

Das hier

>    ./include/fatfs/diskio.h
       *******


Offenbar hast du das FatFs noch in ein Subverzeichnis include verpackt.
Na dann gibs halt einfach an
1
#include "include/FatFs/diskio.h"

letzten Endes gehts nur um die Frage:
ausgehend vom aktuellen Projektverzeichnis, wie ist der Pfad zum Header 
File.
  ein      .     ist das aktuelle Verzeichnis
  ein      ..    ist das darüber liegende Verzeichnis

(wobei du den ersten . nicht schreiben musst. Ein Pfad der nicht mit / 
beginnt wird sowieso immer vom aktuellen Verzeichnis aus gesehen)
Gast #2824653
Lesenswert?

Karl Heinz Buchegger schrieb:
> M. H. schrieb:
>> Karl Heinz Buchegger schrieb:
>>> Dann gibts da halt eben den Pfad mit dem zusätzlichen include an.
>>
>> sorry, aber was für ein zusätzliches include?
>>
>> Vesteh ich nicht ganz.
>
> Das hier
>
>>    ./include/fatfs/diskio.h

das muss ich aber in jeder einzelnen Datei ändern, da dass in fast jeder 
vorkommt. und jedesmal daran anpassen, wo die Datei liegt, in die ich 
das einsetze.....  Ganz schöne Arbeit...
Gast #2824659
Lesenswert?

Hat sich schon jemand das Beispielprojekt angeguckt? Dann müsste 
ziemlich eindeutig sein, wo mein Problem ist, denn im Beispielprojekt 
liegen die Include-Dateien im Ordner ..\microchip\include\fatfs (relativ 
zum Projekt) und werden aber trotzdem einfach über #include <FatFs\...> 
eingebunden.
#2824662
Lesenswert?

M. H. schrieb:
> Karl Heinz Buchegger schrieb:
>> M. H. schrieb:
>>> Karl Heinz Buchegger schrieb:
>>>> Dann gibts da halt eben den Pfad mit dem zusätzlichen include an.
>>>
>>> sorry, aber was für ein zusätzliches include?
>>>
>>> Vesteh ich nicht ganz.
>>
>> Das hier
>>
>>>    ./include/fatfs/diskio.h
>
> das muss ich aber in jeder einzelnen Datei ändern, da dass in fast jeder
> vorkommt. und jedesmal daran anpassen, wo die Datei liegt, in die ich
> das einsetze.....  Ganz schöne Arbeit...

Dann kommt Version 2 zum Zug.

Praktisch allen Compilern kann man zusätzliche Verzeichnisse vorgeben 
(die werden irgendwo in der IDE eingestellt), die dann ebenfalls 
abgesucht werden. Praktisch gesehen fungieren dann diese zusätzlichen 
Verzeichnisse als temporäre Arbeitsverzeichnisse, mit denen ( + 
natürlich dieser relative Pfad) erneut versucht wird das File zu finden.

> Ganz schöne Arbeit...

:-)
du hast im Moment 7 Header Files und 5 Source Code Files.
Wenns mal 70 Header und 50 Source Files sind, .....
#2824667
Lesenswert?

M. H. schrieb:
> Hat sich schon jemand das Beispielprojekt angeguckt? Dann müsste
> ziemlich eindeutig sein, wo mein Problem ist, denn im Beispielprojekt
> liegen die Include-Dateien im Ordner ..\microchip\include\fatfs (relativ
> zum Projekt) und werden aber trotzdem einfach über #include <FatFs\...>
> eingebunden.

Tja.
Da wird wohl irgendwo in den Projekteinstellungen eingestellt sein, dass 
es ein zusätzliches Include-File Verzeichnis Namens 
"..\microchip\include" gibt.


Da ich aber kein MPLAB verwende, kann ich dir nicht sagen, wo das 
eingestellt wird. Irgendwo in den "Project Settings" oder "Project 
Options" oder wie das dann eben bei MPLAB heißt.

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