使用VS2015編寫驅動時出現的部分錯誤以及解決方法


    前幾日在github上下載了一個Windows驅動的demo,原本想着直接下載下來打開解決方案就可以用,沒想到一編譯,出現了奇奇怪怪的Error,部分Error網上也沒什么好的解決辦法,對我這個從未深入玩過VS的人,VS的使用體驗實在是太糟糕了,以后不知道還有沒有機會繼續使用VS,但是還是決定記錄下來踩過的坑。

1、Error C1107 未能找到程序集“platform.winmd”: 請使用 /AI 或通過設置 LIBPATH 環境變量指定程序集搜索路徑 

通過微軟的錯誤幫助,發現問題出在了LIBPATH環境變量中,並且是using出了問題。

解決辦法:

        ① 解決方案資源管理器右鍵項目,點擊屬性。

 

        ②配置屬性--C/C++--其他using指令--編輯,看一下到底是缺了什么路徑

經過分析發現,在C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcpackages中,文件夾是空的,那么肯定會報錯了。

出現文件夾為空的情況,是因為這個工程是下載的別人的,VS的安裝位置不一樣,因此只需要添加你安裝VS的路徑下的vcpackages就可以了。

我的VS安裝在E盤,因此只需添加E:\VS2015\VC\vcpackages,然后保存,再次編譯就可以通過了。

 

2、WindowsApplicationForDrivers10.0未安裝,請安裝WindowsApplicationForDrivers10.0 tools后使用

    出現此問題的原因是未安裝WDK10

解決辦法:

        安裝WDK10即可。

        WDK10:https://docs.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk

安裝成功后選擇平台工具集為WindowsApplicationForDrivers10.0即可。

 

 3、LINK : fatal error LNK1181: 無法打開輸入文件“C:\Program Files (x86)\Windows Kits\10\lib\10.0.10240.0\km\x86\cfg_support_v1.lib

        出現這個問題的原因是我們使用的Windows Kit版本是10.0.10240,其中缺少km文件夾

解決辦法:

        進入文件夾C:\Program Files (x86)\Windows Kits\10\include,將高版本的文件夾下的km文件夾拷貝到我們使用的平台所需要的版本的文件夾

     相似的進入文件夾C:\Program Files (x86)\Windows Kits\10\Lib,執行上邊的一步,再次編譯問題解決。

4、regsvr32命令報錯:模塊已加載,但對dllregisterServer的調用失敗,錯誤代碼為0x80070005

    將項目編譯好后生產DLL文件,需要加載DLL文件,出現失敗。出現此問題的原因是權限不足,需要獲取管理員權限運行regsvr32命令。

 

解決辦法:

        ①  使用管理員身份運行cmd命令行,執行regsvr32命令。

或者

        ②  將運行的regsvr32命令保存在一個文本文件中,然后將文件后綴名改為.bat或者是.cmd,保存后,右鍵"以管理員身份運行"。

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM