Variablen in include anweisung
-
Hallöchen,
bräuchte mal eure Hilfe, da meine Internet-Recherchen nichts wirklich hilfreiches gebracht haben.
Ich habe ziemlich viele Include anweisungen zu machen, allerdings sind die Headerfiles dazu in mehreren Ordnern verstreut. Ich weis, dass ich Includeanweisungen auch so schreiben kann:
#define _MyHeader_ "/home/me/Headerfiles/MyHeader.h" #include _MyHeader_
Aber wie kann ich Variablen und Pfad in einem Include schreiben, bzw. geht das überhaupt?
Beispiel:
#define _Home_ "/home/me" #include _Home_/Headerfiles/MyHeader.h
Wäre echt supi, wenn mir da jemand weiter Helfen könnte.
lg Honey
-
Honey schrieb:
#define _MyHeader_ "/home/me/Headerfiles/MyHeader.h" #include _MyHeader_
Aber wie kann ich Variablen und Pfad in einem Include schreiben, bzw. geht das überhaupt?
sollte gehen. manche compiler wolles das # einer präprozzi-anweisung immer am anfang einer neuen zeile haben. falls du windoofs benutzt, müsstest du vielleicht statt der / zwei \ einsetzen. zusammenbasteln von strings für makros geht damit: http://www-zeuthen.desy.de/dv/documentation/unixguide/infohtml/cpp/cpp_16.html
-
Hallo fricky,
leider hilft mir das nicht unbedingt weiter, da es sich um mehrere unterschiedliche Include anweisungen handelt.
also
#define Home_1 "/home/me" #define Home_2 "/home/kollege" //usw. #include Home_1/MyHeader.h #include Home_2/HisHeader.h //usw.
es sind immer wieder verschiedene "Haupt"-Verzeichnisse mit verschiedenen "Unter"-Verzeichnissen.
Ich kann sie aber nicht statisch von hand ändern (also
#include "/home/me/MyHeader.h"
) weil mein kollege sie sonst bei sich wieder zurück ändern muss (nach
#include "/home/kollege/HisHeader.h"
)
Und ausserdem wären es extrem viele, die ich da ändern müsste.
lg Honey
-
^^ach so. ich weiss jetzt nicht, ob man für #include den string-zusammenschiebeoperator ## benutzen kann, aber wie wär's wenn du in den projekt-settings der IDE bei dir einen zweiten suchpfand für .h-files einstellst, und dein mitarbeiter einen anderen?
oder, wenn's im code sein soll//#define ICH // <--- diese zeile einkommentieren für 'dich' #ifdef ICH #include "ich/file1.h" #include "ich/file2.h" #include "ich/..." #else #include "wer_anders/file1.h" #include "wer_anders/file2.h" #include "wer_anders/..." #endif