- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 10 von 43

Thema: strukturen, ein- und ausstieg

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    Hi allerseits,

    ich nutze jetzt mal diesen thread, auch wenn es mir diesmal um andere strukturen geht:

    nachdem das kompilieren mit code:blocks bei mir offensichtlich immer noch mit fehlern behaftet ist habe ich das, was ich momentan mache auf reines make umgestellt. So weit so gut, so ganz zufrieden bin ich nicht:

    1) die strukturen sind ganz flach. Ich kann sie natürlich mit hinzufügen von "/.." im jeweiligen makefile erweitern, das wahre ist das aber nicht...

    2) es stört mich z.b. das in jedem verzeichnis, welches für ein programm angelegt ist auch die dateien, wie z.b. die libs der multi_io sind. So habe ich - befürchte ich - in einigen wochen dutzende von z.b. "RP6Control_MultiIO.h" oder "RP6Control_Orientation.h", je nach dem wo ich gerade drann bin und etwas ändere. Gibt es hier, bei make, eine möglichkeit es zentral handzuhaben? Zum beispiel alle "RP6mio" oder "RP6servo" in einem verzeichnis zusammenzufassen und jeweils nur auf EINE dateiversion (in der man ändert, hinzufügt, auskommentiert...) zuzugreifen? kann man dazu z.b. den

    "RP6_LIB_PATH_OTHERS= $(RP6_LIB_PATH)/RP6control $(RP6_LIB_PATH)/RP6common"

    erweitern?

    das hier, z.b.


    SRC += $(RP6_LIB_PATH)/RP6control/RP6ControlLib.c
    SRC += $(RP6_LIB_PATH)/RP6common/RP6uart.c


    hat schon mal mit "RP6_LIB_PATH_OTHERS"

    also so:

    SRC += $(RP6_LIB_PATH_OTHERS)/RP6ControlLib.c
    SRC += $(RP6_LIB_PATH_OTHERS)RP6uart.c

    irgendwie nicht funktioniert...


    wie handhabt ihr (die, die mit make arbeiten und drauf schwören) so etwas?
    gruß inka

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Hi inka,
    wenn man mal die Struktur der RP6 Examples als Beispiel nimmt:
    1. Im makefile geht alles aus von DEM Ordner, in dem makefile steht bzw. make all ausgeführt wurde. Das ist der Ordner, in dem also dein Programm steht (Programmordner).

    2. RP6_LIB_PATH ist dann im makefile als ../../RP6Lib definiert, d.h. 2 Ebenen aufwärts im Verzeichnisbaum (RP6CONTROL_EXAMPLES -> RP6) und dort dann der Ordner RP6Lib.
    Die Struktur sieht also so aus:
    RP6 --- RP6CONTROL_EXAMPLES --- Programmordner
    RP6 --- RP6Lib
    RP6_LIB_PATH weist dann also auf den Ordner RP6Lib.

    3. Wenn es um die M32 geht, dann befinden sich die meisten Libs für die M32 im Ordner:
    RP6 --- RP6Lib --- RP6control
    Dahin tue ich auch alle Libs, die ich selbst für die M32 habe. Wenn du also für die MultiIO Libs eine zentrale Stelle haben willst, wäre dieser Ordner doch gut geeignet, oder?

    4. Im makefile müßtest du also alle MultiIO Libs, die du in den Ordner RP6control kopiert hast, so eintragen:
    SRC += $(RP6_LIB_PATH)/RP6control/RP6Control_MultiIOLib.c
    (Hier am Beispiel der MultiIO Haupt-Lib)

    5. Im Programm selbst müßten die include Befehle nicht verändert werden.

    Wenn du eine andere Ordner-Struktur nutzt, must du natürlich die Pfadangaben anpassen.
    Gruß
    Dirk

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 23.03.2012, 22:36
  2. Probleme feine Strukturen zu drucken für Platine
    Von Hellmut im Forum Konstruktion/CAD/3D-Druck/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 12
    Letzter Beitrag: 20.12.2010, 13:35
  3. Antworten: 11
    Letzter Beitrag: 07.09.2008, 16:56
  4. Probleme bei Strukturen (Projekt Funkuhr)
    Von Wasserkäfer im Forum C - Programmierung (GCC u.a.)
    Antworten: 9
    Letzter Beitrag: 19.07.2008, 15:10
  5. Ein Quarz für ein ATMEGA8 und ein ATMEGA16
    Von boeseTURBO-CT im Forum AVR Hardwarethemen
    Antworten: 6
    Letzter Beitrag: 14.06.2004, 16:07

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress