0

我正在重构一个遗留问题,我需要稍微依赖编译器。Visual Studio 中的某些设置无法像我希望的那样工作。

文件交流

int main (int i, char** l)
{
    dostuff(i);
}

文件 bh

//empty header

文件 bc

void dostuff(int i);


void dostuff(int i)
{
    //bla
}

a.c不包括b.h也不意味着b.hdostuff。由于 dostuff 不是静态的,因此符号被导出。如果我删除b.c编译失败。

我想设置 vs2010 以便它生成错误,a.c因为符号dostuff不是通过包含导入的。

什么设置会为我做到这一点?

4

1 回答 1

1

首先,您的代码应该生成警告(在第 3 级),因此您应该能够在编译后看到有问题。如果你想要一个错误:

你可以#pragma warning (error : 4013)在你的a.c文件中添加。

或者添加/we4013到下面的附加选项Configuration properties->C/C++->Command Line

这会将您的代码生成的警告视为错误

于 2013-10-17T15:13:22.593 回答