2013-10-17 101 views
0

我正在重構一個遺留問題,我需要依靠編譯器。 Visual Studio中的某些設置程序不能像我希望的那樣工作。如何阻止VS2010自動包含Ansi 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 meantion dostuff。由於dostuff不是靜態的,符號被導出。如果我刪除b.c編譯失敗。

我想設置vs2010,因此它會生成a.c的錯誤,因爲符號dostuff未通過include導入。

什麼設置會爲我做?

回答

1

首先你的代碼應該生成一個warning(在第3級),所以你應該能夠看到編譯後出現的問題。如果你想要一個錯誤:

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

或者添加/we4013到其他選項下Configuration properties->C/C++->Command Line

這會將你的代碼產生的錯誤

+0

警告在代碼中的ammount的是驚人的警告。他們都是噪音,我必須一一處理......'/ we4013'選項正是我所需要的。 – Johannes

相關問題