/Tc, /Tp, /TC, /TP (Specify Source File Type)
The /Tc option specifies that its filename argument is a C source file, even if it does not have a .c extension. The /Tp option specifies that its filename argument is a C++ source file, even if it doesn't have a .cpp or .cxx extension. A space between the option and the filename is optional. Each option specifies one file; to specify additional files, repeat the option.
/TC and /TP are global variants of /Tc and /Tp. They specify to the compiler to treat all files named on the command line as C source files (/TC) or C++ source files (/TP), without regard to location on the command line in relation to the option. These global options can be overridden on a single file by means of /Tc or /Tp.
Syntax
/Tc filename
/Tp filename
/TC
/TP
Arguments
filename
A C or C++ source file.
Remarks
By default, CL assumes that files with the .c extension are C source files and files with the .cpp or the .cxx extension are C++ source files.
When either the TC or Tc option is specified, any specification of the /Zc:wchar_t (wchar_t Is Native Type) option is ignored.
To set this compiler option in the Visual Studio development environment
Open the project's Property Pages dialog box. For details, see Set C++ compiler and build properties in Visual Studio.
Select the Configuration Properties > C/C++ > Advanced property page.
Modify the Compile As property. Choose OK or Apply to apply your changes.
To set this compiler option programmatically
- See CompileAs.
Examples
This CL command line specifies that MAIN.c, TEST.prg, and COLLATE.prg are all C source files. CL will not recognize PRINT.prg.
CL MAIN.C /TcTEST.PRG /TcCOLLATE.PRG PRINT.PRG
This CL command line specifies that TEST1.c, TEST2.cxx, TEST3.huh, and TEST4.o are compiled as C++ files, and TEST5.z is compiled as a C file.
CL TEST1.C TEST2.CXX TEST3.HUH TEST4.O /Tc TEST5.Z /TP