Gordon520 发表于 2024-3-4 09:23:14

CE 5.6.1的SYS驱动编译通过的方法!!

CE 5.6.1的SYS驱动编译通过的方法!!!
一直都出现一个错误:1>link() : error LNK1181: cannot open input file 'objfre\i386\dbkdrvr.obj'




这也是很多朋友碰到的,但一直找不到原因,总以为是CE源码或DDK有问题,源码是CE官网下载的应不会有错,所以以为是DDK版本有问题,现在才明白原来一切如此简单。

问题拖这么长时间主要也是太粗心了,在每次编译完都会出现个提示,说编译结果保存在buildfre_wxp_x86.log 这个文件里,原来总以为是少了什么'objfre\i386\dbkdrvr.obj',其实完全不是这样,打开buildfre_wxp_x86.log 这个文件,发现真正的错误是:error C2220: warning treated as error - no ‘object’ file generated 这一句,在网上搜这句话,解决方法出来了,打开
C:\WINDDK\7600.16385.0\bin\i386mk.inc 文件,在里面查找“MSC_WARNING_LEVEL=$(MSC_WARNING_LEVEL) $(COMPILER_WX_SWITCH)”
这句代码,找到后在它下面加一句:MSC_WARNING_LEVEL= /W1
加上后成这样了:
MSC_WARNING_LEVEL=$(MSC_WARNING_LEVEL) $(COMPILER_WX_SWITCH)
MSC_WARNING_LEVEL= /W1

保存退出后再来编译DLL,没问题了,通过,原来是因为DDK警告警告级别太高了,降低了就没事了,有可能装英文版系统就没警告了。

好的,总结一下:一、CE官网下载5.6.1源码
二、下载WINDDK\7600.16385.0并安装(其它高级版没测试)
三、在DDK的i386mk.inc文件里加一句代码:MSC_WARNING_LEVEL= /W1

OK!编译通过了

很简单的一个问题,想信很多人都懂,但就没人肯说.




页: [1]
查看完整版本: CE 5.6.1的SYS驱动编译通过的方法!!