使用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,保存后,右键"以管理员身份运行"。
使用VS2015编写驱动时出现的部分错误以及解决方法的更多相关文章
- ASP.NET输出PNG图片时出现GDI+一般性错误的解决方法
偶原来的用ASP.NET生成验证码图片时用的是JPG格式,今天想把它改成PNG格式的,结果就出现GDI+一般性错误,查了N久资料,才发现解决的办法,对分享此解决办法的网友深表感谢 Response.C ...
- 发送邮件时Unable to relay错误的解决方法 转
使用python的smtplib发送邮件,使用新浪的smtp服务,在本地测试正常.但把程序部署到服务器后,却连不上新浪的smtp服务器,可以ping通,但telnet 25端口失败,导致程序无法正常运 ...
- nginx反向代理tomcat应用,struts2网站程序redirect时导致请求地址错误的解决方法
一个使用struts2的网站在登录页面需要进行redirect跳转,大致如下: <package name="admin" extends="httl-defaul ...
- elasticsearch启动时提示内存不足错误的解决方法
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0 ...
- MVC.Net:对MVC5部署时出现403.14错误的解决方法
当我们部署MVC5到IIS 7的时候,有时会出现403.14的错误,如下图: 对于这个错误的解决方法就是在应用程序的web.config的system.webServer节点中加入这一句: <m ...
- 加载驱动模块时Device or resource busy的解决方法
加载驱动模块时Device or resource busy的解决方法 加载驱动模块时Device or resource busy的解决方法 insmod或modprobe驱动模块时Device o ...
- 移动设备 小米2S不显示CD驱动器(H),便携设备,MTP,驱动USB Driver,MI2感叹号的解决方法
小米2S不显示CD驱动器(H),便携设备,MTP,驱动USB Driver,MI2感叹号的解决方法 by:授客 QQ:1033553122 用户环境 操作系统:Win7 手机设备:小米2S 问题描 ...
- STM32 USB转串口驱动安装不成功出现黄色感叹号解决方法!
相信很多人在做USB转串口时出现过串口驱动安装不成功,出现黄色感叹号问题, 出现这种问题一般是驱动安装不成功造成的. 这里我就这个问题总结几个简单的方法. 方法1: 插上USB,利用驱动人生安装驱动. ...
- Eclipse启动时发生An internal error occurred during: "Initializing Java Tooling".错误的解决方法
问题描述: Eclipse启动时发生An internal error occurred during: "Initializing JavaTooling".错误的解决方法 解决 ...
随机推荐
- Ubuntu安装指定版本的docker
系统环境: Ubuntu 16.0.4 安装版本: docker 17.03.2 在进现在这家公司初期,需要使用rancher部署一个k8s集群,由于rancher也是由docker启动的,加上k8 ...
- 转:在linux中vi 文件里行尾奇怪的^M及解决
Linux编辑器vim中删除行尾的^M 有时候,在 Linux 中使用打开曾在 Windows 中编辑过的文件时,会在行尾看到 ^M 字符.看起来总是感觉很别扭. 删除方法如下: 在 Vim 的命令模 ...
- Linux网路命令netstat
Linux网路命令netstat netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表.实际的网络连接以及每一个网络接口设备的状态信息. 参数 参数 用法 详解 -a或--a ...
- SourceInsight主题设置
自己经常忘记怎样设置SourceInsight主题,这次一定要记住! 0. 退出SourceInsight软件1. 替换配置文件操作:拷贝Global.CF3到“我的文档\Source Insight ...
- Spring MVC系列[1]—— HelloWorld
1.导入jar包 ioc mvc 复制spring-mvc.xml到src目录下. 2.web.xml <?xml version="1.0" encoding=" ...
- Azure 进阶攻略 | 关于Java 和事件中心的那不得不说的事
物联网技术辣么火,虽然之前有说过不少,但今天,仍有一个憋在我心里已久,不得不说的话题:基于Azure 的物联网平台必不可少,你可能已经在使用,但也许并没有意识到的服务:Azure 事件中心. 啊?事件 ...
- 爬虫基本原理及requests,response详解
一.爬虫基本原理 1.爬虫是什么 #1.什么是互联网? 互联网是由网络设备(网线,路由器,交换机,防火墙等等)和一台台计算机连接而成,像一张网一样. #2.互联网建立的目的? 互联网的核心价值在于数据 ...
- powershell 版本问题
Login-AzureRmAccount : 无法将“Login-AzureRmAccount”项识别为 cmdlet.函数.脚本文件或可运行程序的名称.请检查名称的拼写,如果包括路径,请确保路径正确 ...
- centos中安装elasticsearch5.0
1.安装jdk 可以直接安装自带的openjdk,安装完成之后修改一下java的环境变量.另一种方式是就是安装oracle的jdk,从官网上下载http://www.oracle.com/techne ...
- Asp.Net Core 进阶(二) —— 集成Log4net
Asp.Net Core 支持适用于各种内置日志记录API,同时也支持其他第三方日志记录.在我们新建项目后,在Program 文件入口调用了CreateDefaultBuilder,该操作默认将添加以 ...