【发布时间】:2022-01-15 03:45:32
【问题描述】:
我的 C++ 项目中有一些旧代码文件,需要编译为 C 代码 - 整个代码库设置为编译为 C++。
我正在使用 Visual Studio,但我宁愿避免从项目属性中设置此每个文件,而宁愿使用某种 #pragma 指令(如果可能)。
我四处寻找,但一无所获,我能想到的关闭是添加一个#ifdef,它检查__cplusplus,如果这样做会失败。
基本上我正在寻找一种从源代码注入/Tc, /Tp, /TC, /TP (Specify Source File Type) 命令的方法。
【问题讨论】:
-
重命名文件,使其名称以
.c结尾。并且,如有必要,从项目中删除旧文件并添加新文件。 -
同时删除任何“#ifdef __cplusplus extern "C",以提高编译为 C++ 时出现编译错误的几率。
-
这是什么意思? “整个代码库设置为编译为 C++” 你是否将
.c文件编译为 C++? -
在某一时刻,所有源文件(
.c和.cpp)的编译器都切换为编译为 C++,但仍然需要将一些外部内容编译为 C
标签: c++ c visual-studio pragma