假设以DEVICEEMULATOR的BSP为基础,针对两类产品创建两份BSP,DEVICEEMULATOR1和DEVICEEMULATOR2。只需要在Platform的目录下,创建目录DEVICEEMULATOR1和DEVICEEMULATOR2,并将DEVICEEMULATOR的内容拷贝到这两个目录下,重命名DEVICEEMULATOR为DEVICEEMULATORORI。至此,准备工作就做完了。在新建项目之前,只需创建一个目录符号链接。例如需编译DEVICEEMULATOR1的系统时,在命令行窗口输入"mklink /D DEVICEEMULATOR DEVICEEMULATOR1”。同样,需要编译DEVICEEMULATOR2的系统时,在命令行窗口输入"mklink /D DEVICEEMULATOR DEVICEEMULATOR2”。这种切换可以随时进行,为了使用更方便,可以写成批处理文件,内容如下。
rmdir DEVICEEMULATOR/ q mklink / D DEVICEEMULATOR DEVICEEMULATOR1 @echo off echo.&pause
mklink在Windows 7中直接有支持。在WinXP下,可以使用linkd,对应的批处理文件的内容如下。
linkd DEVICEEMULATOR DEVICEEMULATOR1 @echo off echo.&pause
使用该方法后,一个项目工程就可以编译出两个不同产品的WinCE操作系统映像。如果选择的系统组件不一样,我们也可以创建多个项目,分别编译,非常灵活。这种方法的关键是在NTFS的分区中创建目录符号链接,所以需要在NTFS的分区上用。