为了账号安全,请及时绑定邮箱和手机立即绑定

vs驱动项目修改成wdk7600项目

标签:
C++


vs版本2015 

wdk版本7600.16385.1

原因是因为vs不可能安装所有系统wdk,同时安装低版本就配置太麻烦。主要原因是服务器不可能给你安装个vs让你编译的。

vs生成项目后,或者拿别人的vs项目后。进入代码主目录。编写makefile makefile.inc(不是必须文件)。和sources

vs驱动项目修改成wdk7600项目

makefile

!INCLUDE $(NTMAKEENV)\makefile.def

makefile.inc这边这样写的

MSC_WARNING_LEVEL=$(MSC_WARNING_LEVEL) $(COMPILER_WX_SWITCH)

MSC_WARNING_LEVEL= /W1

_LNG=$(LANGUAGE)

_INX=.

STAMP=stampinf -f $@ -a $(_BUILDARCH) -k $(KMDF_VERSION_MAJOR).$(KMDF_VERSION_MINOR)

$(OBJ_PATH)\$(O)\$(INF_NAME).inf: $(_INX)\$(INF_NAME).inx 

    copy $(_INX)\$(@B).inx $@

    $(STAMP)

主要文件

sources 

前面是级别主要是四句话:

TARGETNAME=GetPciInfoDriver 驱动生成名称

TARGETPATH=OBJ

TARGETTYPE=DRIVER 生成的是驱动

SOURCES=entry.c 所有c文件

!if $(FREEBUILD)

MSC_WARNING_LEVEL=/W1

!else

MSC_WARNING_LEVEL=/W3

!endif

TARGETNAME=GetPciInfoDriver   

TARGETPATH=OBJ

TARGETTYPE=DRIVER 

SOURCES=entry.c

然后打开编译环境去SOURCES目录输入build

然而发现上百 或者上千的错误(这里vs是能过的)

vs驱动项目修改成wdk7600项目

主要原因是因为老版本的编译器。函数的变量声名等必须要在最前面例如:

报错:

test(){

 a();

 int i=0;

}

修改:

test(){

int i;

 a();

 i=0;

}

然后还有一个问题是结构体声名时没有初始化问题。要声明就后面加上={0};初始化,我编译时这样就行了。

vs配置wdk7600参考:

https://www.cnblogs.com/iBinary/p/8290595.html

©著作权归作者所有:来自51CTO博客作者土匪猿的原创作品,如需转载,请注明出处,否则将追究法律责任


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消