relative #include - Pfade



  • Hallo,

    z. B. folgende Verzeichnisstruktur:

    |-include
    | |- derived
    | |  |- stringList.hpp
    | |
    | |- list.hpp         // beinhaltet eine template-Klasse -> keine cpp-Datei
    |
    |-src
    | |-derived
    |   |- stringList.cpp
    |
    |-main.cpp
    

    in main.cpp:
    #include "include/derived/stringList.hpp"

    Frage: wie ist es in stringList.cpp?
    (1) #include "include/derived/stringList.hpp"
    (2) #include "../../include/derived/stringList.hpp"

    Borland CBuilderX schluckt beides, Visual Studio 2003 nur die zweite Variante.

    Wie ist es nun richtig:
    Include-Angaben relativ zur Haupt-Datei oder zur jeweiligen cpp-Datei?

    thx
    Martin



  • Relativ zur Quelldatei ist richtig.



  • anonymus schrieb:

    Borland CBuilderX schluckt beides, Visual Studio 2003 nur die zweite Variante.

    VS verhält sich hier auf jeden Fall korrekt. Kann sein, dass CBuilderX dein Root Verzeichnis automatisch zu den Include Verzeichnissen hinzufügt. Evtl hast du dort deine Projektdateien liegen?



  • groovemaster schrieb:

    VS verhält sich hier auf jeden Fall korrekt.

    das stimmt, weil ja relative pfade generell sich auf den ort der "aufrufenden", sprich der quelltextdatei beziehen...

    btw: vs verhält sich korrekt... mal ne ausnahme 😉 hab ich so den anschein



  • Danke,

    man lernt nie aus.
    Hab von anbeginn an die includes falsch gesezt 😮
    (und bisher hat sich auch noch kein compiler beschwert, ausser das VS heute)

    groovemaster schrieb:

    VS verhält sich hier auf jeden Fall korrekt. Kann sein, dass CBuilderX dein Root Verzeichnis automatisch zu den Include Verzeichnissen hinzufügt. Evtl hast du dort deine Projektdateien liegen?

    hm..
    Projektdaten liegen beide male im "root".
    aber egal. Werd meine includes in Zukunft "richtig" setzten 😉

    thx
    Martin


Anmelden zum Antworten