Compile .c extensions as a C98++ using Visual Studio

N

NvrBst

Right now I have C99 code in .c extensions.

I compile it in VSC++ and it complains about a lot of errors.
I change the extensions to .cpp and compile in VSC++ and it succeeds.


Is there a way to keep my extensions .c, but tell VSC++ (through an
project option) to compile as C++98 code (as if it had .cpp
extensions).

Thanks!
 
D

David Lowndes

Is there a way to keep my extensions .c, but tell VSC++ (through an
project option) to compile as C++98 code (as if it had .cpp
extensions).

Have a look at the /TC and /TP options.

Dave
 
N

NvrBst

Have a look at the /TC and /TP options.

Dave

Opse sorry. I forgot to mention I seen the "Project > Properties >
Configuration Properties > C/C++ > Advanced > Compile As" which has
the options:

Compile as C++ (/TP)
Compile as C Code (/TC)

The project is defaulted to /TP (no matter if the extention is .c
or .cpp). Even with /TP set, if the file extentions are all .c it
wont compile. Renaming the files (inside the solution explorer)
without changing any of the project properties (from .c to .cpp) makes
it compile.

As a result it doesn't look like this setting does anything for me
(and the extention on the files are what's dictating compile type). I
was hoping for another property someplace (something like ignore file
extention) kinda thing; or another work-around; or maybe I'm just
using the "Compile As" incorrectly?

Thanks, NB
 
N

NvrBst

Opse sorry. I forgot to mention I seen the "Project > Properties >
Configuration Properties > C/C++ > Advanced > Compile As" which has
the options:

Compile as C++ (/TP)
Compile as C Code (/TC)

The project is defaulted to /TP (no matter if the extention is .c
or .cpp). Even with /TP set, if the file extentions are all .c it
wont compile. Renaming the files (inside the solution explorer)
without changing any of the project properties (from .c to .cpp) makes
it compile.

As a result it doesn't look like this setting does anything for me
(and the extention on the files are what's dictating compile type). I
was hoping for another property someplace (something like ignore file
extention) kinda thing; or another work-around; or maybe I'm just
using the "Compile As" incorrectly?

Thanks, NB

lol;

I just tried again... When I import the .c files, the default is
indeed set to /TP... (C++), so I thought it was using it.

But then I changed it to /TC, and BACK to /TP.... then tried to
compile... and it works.


So maybe the individual files were set to /TC, and doing this then
sets them all to /TP (even though the main project Properties were
always set to /TP).


Anyway thanks for the help... i did look at this option before, but re-
looking at it has solved my problem! thanks
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top