Macro und #include



  • Hallo,

    ich möchte den Pfad eines Headerfiles als Macro definieren, da ich auf verschiedenen Rechnern arbeite und die Pfade schnell in vielen Files ändern muss. Folgendes funktioniert nicht so recht:

    #define MYDIR/headerfile.h /home/paul/myfile.h
    #include "MYDIR/headerfile.h"
    

    Danke für Hilfe.



  • in einem String wird ein Macro nicht expandiert. Überleg dir am besten mal ein Konzept um Headerdateien gleich zu benennen (Pfade kann man über Compileroptionan anpassen). Ansonsten wäre folgendes wohl praktisch

    #ifdef A
    #define HEADER_H "foo/header.h"
    #else
    #define HEADER_H "bar/foo.h"
    #endif
    
    #include HEADER_H
    


  • außerdem ist MYDIR/headerfile.h kein gültiger bezeichner (auch nicht für ein makro) - eher so wie rüdiger vorschlägt, underscore statt schrägstrich.



  • Außerdem paßt man die Pfade auch in den Projektoptionen (beim gcc mittel -L) an, nicht in den einzelnen Source-Dateien.


Anmelden zum Antworten