我们的产品是嵌入式的东东,用的是WinCE5.0,今天同事叫我帮忙,下了一份代码,我们做了一个脚本,平常写代码,编译,链接都用这个脚本完成,完全没用Platform Builder 这个IDE,IDE只是用来Debug用的。
结果怎么编译都出错,没办法,是在Sysgen阶段出错的,但是到底是什么原因出错的就怎么也差不出来。最后突发奇想,wince的脚本默认把echo 关闭了,我把cmd命令行下的echo打开后,再尝试,呵呵,Sysgen过程中所有的详细信息都有了。
仔细分析log日志,发现原来是编译过程中会调用WinCE目录下的Sysgen.bat,比如我的sysgen.bat在下面的目录下:
C:/WINCE500/PUBLIC/COMMON/OAK/MISC
在该文件里有行命令是:
cd %_PUBLICROOT%/%___PUBLICPROJECT%/cesysgen
而我的代码却不在C盘,用这个命令就没法转到代码所在盘对应的目录了,我们必须给他加上/d参数,如下:
cd /d %_PUBLICROOT%/%___PUBLICPROJECT%/cesysgen
保存,编译,通过,搞定了。呵呵,总结一下,出现问题后一定要多动脑思考,尽量想法多得到一些输出信息,像我这里就是打开echo,仔细分析输出信息就好了。
解决问题最重要的是思路。