VS2012編譯已有WDM驅動

驅動不得不升級了,記錄一下升級中跳的坑。
環境搭建:
開了虛擬機,在虛擬機中採用VS2012+WDK8。
首先安裝VS2012,然後安裝WDK8,安裝完WDK8會提示要求裝wdfcoinstaller
按照提示安裝即可,這個是必須安裝的。有文章說必須先VS2012再WDK8,我本來就是這個順序,所以沒有遇到啥問題。
代碼導入:
這一步按照網上說明進行的。
打開VS2012, file -> open -> convert sources.../dir... 中選擇WDM驅動的sources文件,vs2012會自動幫您將sources轉爲可以編譯的vcxproj工程。
注:SOURCES文件是沒有後綴的,我的工程裏有區分free和debug版本的兩個sources文件,任選一個去掉後綴即可。
代碼編譯:
1.上來就報了一個經典錯誤: error C2220: 警告被視爲錯誤 - 沒有生成“object”文件
這個需要關閉 將警告視爲錯誤屬性。
項目 -> 屬性 -> 配置屬性 -> C/C++ -> 常規 -> 將警告視爲錯誤 選擇 否(/WX-)
2.使用了可能未初始化的變量錯誤,這個我修改了代碼
3.cannot open include file 'afxres.h'錯誤
網上搜了幾種解釋,覺得都不靠譜,後來看了一個比較合適的。
在 rc 文件內將包含 afxres.h 字樣的都刪除(有2處),然後在頭上將第一處替換爲 #include "winres.h" 即可。
我是隻把第一處做了替換,後一處沒有管,也沒再報錯。

接下來就編譯完成了,但是能不能用還不知道。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章