天天看點

error C2220: warning treated as error - no object file generated的處理方法

WDK/DDK中掉 error C2220: warning treated as error - no ‘object’ file generated 2009-04-01 15:54

網上搜尋而來,儲存

其實就是關掉編譯選項的問題…

網上提得最多的就是修改 WDKPATH/i386.inc檔案中的

MSC_WARNING_LEVEL=$(MSC_WARNING_LEVEL) $(COMPILER_WX_SWITCH)

改為

MSC_WARNING_LEVEL=$(MSC_WARNING_LEVEL) $(COMPILER_WX_SWITCH)

MSC_WARNING_LEVEL=/W1

還有一個辦法。。。其實大可不必去動inc檔案。

當然也不是google裡提到的在sources裡面加,反正我是怎麼加,加在哪個位置都不成功…

直接在項目中的makefile檔案的最後一行加入

MSC_WARNING_LEVEL=/W1

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

這幾天忙着把以前寫的驅動轉換到WDK的編譯環境,遇到一個問題:

Free編譯時:C2220: warning treated as error - no 'object' file generated

出現這個問題是因為代碼不嚴謹導緻了。具體情況我也懶得去分析了。大家可以去搜尋.

對于懶人來說,解決方案是,修改目前驅動工程的sources檔案,減低警告級别

代碼如下

!if $(FREEBUILD)

MSC_WARNING_LEVEL=/W1

!else

MSC_WARNING_LEVEL=/W3

!endif

意思是:如果是Free編譯時設定警告級别為1,否則預設為3

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

改變警告級别:

如果你遇到了以下錯誤,且不是代碼的問題,則需要改變警告級别:

error C2220: warning treated as error

修改方法:

bin目錄i386mk.inc的MSC_WARNING_LEVEL的值替換為 /W1

添加一行,如下:

MSC_WARNING_LEVEL=$(MSC_WARNING_LEVEL) $(COMPILER_WX_SWITCH)

MSC_WARNING_LEVEL= /W1

繼續閱讀