Visual C++ 6.0: Wie mit Parameter '/Tp' C++-Kompilierung "erzwingen"?
-
Hallo Leute,
ich habe eine Quellcodedatei mit Dateiendung .c vorgegeben, in der bis jetzt reiner C-Code steht. Nun muss ich diesen mit C++-Code erweitern.
Um die Kompilierung von C++-Code in einer C-Datei möglich zu machen, habe ich in der MSDN (http://msdn2.microsoft.com/de-de/library/032xwy55(VS.80).aspx) gelesen, dass man mit '/Tp' in den Projektoptionen die betroffene C-Datei angebeben soll.
So weit so gut, aber irgendwie kriege ich es nicht hin, diese Option korrekt einzubinden. Ich hab das jetzt unter "Projekt / Einstellungen" im Register "C/C++" folgendermaßen an die Projektoptions-Befehlszeile angehängt:
/Tp\testordner\testdatei.c
Habs auch schon mit anderen Schreibweisen (mit Leerzeichen, ohne komplette Pfadangabe, Dateiangabe in Hochkommata) ausprobiert, aber nichts bringt den Compiler dazu, meinen C++-Code in testdatei.c zu fressen.
Hat jemand einen Tipp für mich, was ich falsch mache?
Vielen Dank
junimond
-
Warum nennst du eine Datei überhaupt ".c", wenn sie C++-Code enthält? Die einfachste Lösung wäre es, die Datei in ".cpp" umzunennen, dann erkennt der Compiler von alleine, daß du dort C++ Code hast.
(eventuell wäre es auch einen Versuch wert, dem Compiler per /TP mitzuteilen, daß du alles als C++ compilieren willst)
-
Alternativ:
Datei in .cpp umbenennen.
Alten Code der nicht umwandelbar ist mit extern "C", klammern.
Neuen C++ Code ergänzen.
-
Wenn *alle* Files in dem Projekt als C++ compiliert werden sollen mach das Studio auf und schreib bei "Project Options" einfach hinten " /TP" dran (ohne " natürlich, aber mit Leerzeichen).
Wenn nur bei einigen Files "C++ erzwungen" werden soll, dann mach das .dsp File in einem Texteditor auf, such die entsprechenden SOURCE= Zeilen im .dsp File raus, und schreib
# ADD CPP /TPdahinter, in eine eigene Zeile.
(inklusive dem
Falls es für ein Source File schon eine "# ADD CPP" Zeile gibt dann häng einfach das " /TP" an diese Zeile an.
Das Studio zeigt dir zwar in den Projekteinstellungen nix an wenn du auf das File klickst, ausgewertet wird der Switch aber richtig (d.h. das entsprechende File wird dann als C++ compiliert).