Can I mix C++ and C in a single project in Visual Studio?

First of all, you shouldn't even need /Tc if you're building it yourself - cl.exe uses file extension to determine the type, so .c files will be compiled as C by default, and .cpp and .cxx files as C++.

For VS projects, it works in exact same way, except that you can't override this behavior (or at least I do not know how).


There's absolutely no problems mixing C and C++ in the same project. All you'll need to do it to design your interface between C and C++ modules in tems of C functions and C data structures, an then make sure that those interface functions are declared on C++ side with C-linkage specifier extern "C".