define unter VC++ 2005
-
Hallo,
ich habe einen Source-Code übernommen aus einer anderen Entwicklungsumgebung, wo ich folgende 2 Deklarationen modifiziert übernehmen und mit MS C++ 2005 kompilieren möchte.
Im Original sehen die 2 Deklarationen folgendermassen aus:standard=C:/xxx
#include ":standard:abc.def"
#include "^xyz.def":standard: ist ein Verweis auf ein Verzeichnis
^ bedeutet "eine Verzeichnisebene oberhalb der aktuellen"nun wäre die einfachste Lösung in VC++ 2005:
#define :standard: C:\xxx\
#define ^ ..\#include ":standard:abc.def"
#include "^xyz.def"aber das versteht der C++ Compiler ja nicht.
Wie kann ich das lösen?Ich will halt die Originalzeilen
#include ":standard:abc.def"
#include "^xyz.def"
nicht verändern.
-
Das Zeichen "^" ist nicht als Define-Name zulässig, d.h. du mußt für den Präprozessor das Zeichen wohl ersetzen müssen (quasi einen Prä-Präprozessor).
Wenn es einmalig sein soll dann einfach nach "^ suchen und durch einen Define-Namen ersetzen.Du kannst folgendes (für C und C++) benutzen:
#define MY_PATH "../" #include MY_PATH "abc.def"
Analog dann für ":standard:" die Ersetzung durchführen.
Was ist denn das für eine IDE (bzw. aus welcher Sprache stammt der Originalcode)?
-
Erstmal Danke für deinen Tip.
Aber wir wollen das umbenennen des Originalcodes eigentlich vermeiden...Der Originalcode stammt aus einem C-Programm unter dem Realzeit-Betriebssystem iRMX (Intel) bzw. jetzt RfW (Tenasys). Der bringt einen eigenen Compiler mit, der aber nicht so viel (berechtigte) Warnungen ausspuckt wie der Compiler von VC2005...
-
Um das Verändern des Codes wirst du aber nicht drum herum kommen, denn dein Original-Code ist kein gültiger C (bzw. C-Präprozessor) Code.