我正在重构一个遗留问题,我需要稍微依赖一下编译器。 Visual Studio 中的某些设置没有像我希望的那样工作。
文件 a.c
int main (int i, char** l)
{
dostuff(i);
}
文件b.h
//empty header
文件b.c
void dostuff(int i);
void dostuff(int i)
{
//bla
}
a.c
不包含 b.h
,b.h
也不表示 dostuff。由于 dostuff 不是静态的,因此符号被导出。如果我删除 b.c
编译就会失败。
我想设置 vs2010,以便它生成 a.c
错误,因为符号 dostuff
未通过 include 导入。
什么设置可以为我做到这一点?
最佳答案
首先,您的代码应该生成 warning (在第 3 级)所以你应该能够在编译后看到有什么问题。如果你想要一个错误:
您可以在 a.c
文件中添加 #pragma warning (error : 4013)
。
或者将/we4013
添加到配置属性->C/C++->命令行
下的附加选项
这会将代码生成的警告视为错误
关于c - 如何阻止 VS2010 自动包含 Ansi C 项目的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19429822/