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

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • NvrBst

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

    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!
  • David Lowndes

    #2
    Re: Compile .c extensions as a C98++ using Visual Studio

    >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

    Comment

    • NvrBst

      #3
      Re: Compile .c extensions as a C98++ using Visual Studio

      On Mar 5, 3:40 pm, David Lowndes <Dav...@example .invalidwrote:
      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
      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

      Comment

      • NvrBst

        #4
        Re: Compile .c extensions as a C98++ using Visual Studio

        On Mar 5, 4:48 pm, NvrBst <nvr...@gmail.c omwrote:
        On Mar 5, 3:40 pm, David Lowndes <Dav...@example .invalidwrote:
        >
        >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
        >
        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

        Comment

        Working...