定制CE内核时,想裁掉directx相关文件,这些文件都在directx.bib文件中配置。请问我在哪里去设置那些宏开关,使编译时不包含这些文件?
使用PB,在定制系统的时候,将directx相关组件删除,这样可以达到LZ想要的目的。
引用: 引用 2 楼 gooogleman 的回复:
在右侧的组件里面,楼主慢慢找吧。
应该在左边的组件里吧?
我吧Graphics and Multimedia Technologies item中所有与媒体相关的项都删除了,还是不能裁剪掉,难道还在其他item里?
我看了C:\WINCE500\PUBLIC\DIRECTX\OAK\FILES\directx.bib文件:
; @CESYSGEN IF QUARTZ_DRMV7
quartz.dll $(_FLATRELEASEDIR)\quartz.dll NK SHD
; @CESYSGEN ENDIF
; @CESYSGEN IF !QUARTZ_DRMV7
quartz.dll $(_FLATRELEASEDIR)\quartz.dll NK SH
; @CESYSGEN ENDIF
; @CESYSGEN ENDIF
这说明无论什么情况,都包含了quartz.dll这个组建,是不是就没法裁剪掉directx?
如果你找不到组件在哪里,那你就在Common.bib找到相应的DLL注释掉。这样即使你组件没有去掉也不会打包进NK了。
关键是该项不在common.bib文件里,是在PUBLIC\DIRECTX\OAK\FILES\directx.bib文件里,MAKEIMG时将其打包到ce.bib里面。不像何宗键书上说的就commom.bib,config.bib,project.bib,platform.bib 4文件合并成ce.bib。并且改动后sysgen还不行,必须build and sysgen.
引用: 引用 7 楼 winamp123 的回复:
关键是该项不在common.bib文件里,是在PUBLIC\DIRECTX\OAK\FILES\directx.bib文件里,MAKEIMG时将其打包到ce.bib里面。不像何宗键书上说的就commom.bib,config.bib,project.bib,platform.bib 4文件合并成ce.bib。并且改动后sysgen还不行,必须build and sysgen.
那就在工程目录下改动啊。就是生成NK.bin所在地方,修改对应的BIB,不信删除不了。