www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Pfad für Include Dateien definieren


Autor: Thomas S. (thomass)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@all,

ich habe AVR Studio und Win AVR Gcc.
Ich programmiere in C.
Nun habe ich folgendes vor.
Ich habe einige *.h files die ich selbst erstellt habe und möchte diese 
immer im Ordner des jeweiligen Projektes kopieren damit jedes Projekt 
eine seperate *.h hat.
Bisher habe ich diese immer mit
#include <C:\ .... \*.h>
eingebunden.
Da es sich jedoch um mehrere Dateien handelt würde ich den Pfad gerne 
definieren damit ich da wo der Pfad stehen soll nur noch einen 
Platzhalter einfügen muss.
Ich habe schon versucht mit define den Pfad zu definieren und dann in 
der include Zeile anstatt des Pfades den Platzhalter einzufügen jedoch 
klappt es irgentwie nicht.
Vermutlich muss ich zwischen den <> Klammern noch etwas einfügen.

Danke

Thomas

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas S. wrote:
> @all,
>
> ich habe AVR Studio und Win AVR Gcc.
> Ich programmiere in C.
> Nun habe ich folgendes vor.
> Ich habe einige *.h files die ich selbst erstellt habe und möchte diese
> immer im Ordner des jeweiligen Projektes kopieren damit jedes Projekt
> eine seperate *.h hat.
> Bisher habe ich diese immer mit
>
#include <C:\ .... \*.h>
> eingebunden.
> Da es sich jedoch um mehrere Dateien handelt würde ich den Pfad gerne
> definieren damit ich da wo der Pfad stehen soll nur noch einen
> Platzhalter einfügen muss.

??
Ich denke, du willst die Header Dateien zum jeweiligen Projektver-
zeichnis umkopieren und nicht in allen Projekten Verweise in
jeweils das gleiche Directory mit den Header Files haben.

Was denn nu?

> Ich habe schon versucht mit define den Pfad zu definieren und dann in
> der include Zeile anstatt des Pfades den Platzhalter einzufügen jedoch
> klappt es irgentwie nicht.
> Vermutlich muss ich zwischen den <> Klammern noch etwas einfügen.

Nein. Das wird so nichts.
Aber Compiler haben eine Direktive beim Aufruf mit der man
zusätzliche Verzeichnisse angeben kann, die zusätzlich
auf fehlende Header Files hin abgesucht werden sollen.

Autor: Thomas S. (thomass)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Karl heinz Buchegger,

OK, eventuell etwas verzwickt geschrieben.

Also bis jetzt habe ich diese *.H Dateien immer in der Projektordner 
kopiert in einem eigenen Verzeichnis

c:\Projekte\Projektname\                      --> Projektordner
c:\Projekte\Projektname\Header\               --> Headerfiles

Nun habe ich immer im Projekt die Headerfiles wie folgt eingefügt:
#include <c:\Projekte\Projektname\Header\1.h>
#include <c:\Projekte\Projektname\Header\2.h>
#include <c:\Projekte\Projektname\Header\3.h>

Was ich nun machen will ist den Pfad zu definieren.
Ich habe mir das so gedacht.
#define pfad "c:\Projekte\Projektname\Header\"

#include <pfad1.h
#include <"pfad"2.h
#include <???????????3.h>

So habe ich es mir vorgestellt, dass ich nur noch an einer Stelle den 
Pfad eingeben muss.

Thomas

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas S. wrote:
> Nun habe ich immer im Projekt die Headerfiles wie folgt eingefügt:
>
>
#include <c:\Projekte\Projektname\Header\1.h>
> #include <c:\Projekte\Projektname\Header\2.h>
> #include <c:\Projekte\Projektname\Header\3.h>
>
> Was ich nun machen will ist den Pfad zu definieren.
> Ich habe mir das so gedacht.
>
#define pfad "c:\Projekte\Projektname\Header\"
> 
> #include <pfad1.h
> #include <"pfad"2.h
> #include <???????????3.h>
>
> So habe ich es mir vorgestellt

Das geht aber nicht.

Wie gesagt. Praktisch alle Compiler haben eine Commandline
Option, mit der man zusätzliche Directories angeben kann.

Da du mit AVR-Studio und WinAvr arbeitest:

Menüpunkt: Project
           Configuration Options

Im Dialog stellst du unter 'Include Directories' die zusätzlichen
Verzeichnisse ein, die der Compiler ebenfalls untersuchen soll,
wenn er ein Header File sucht.

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.