在WinCE中, Build.exe工具用来编译一个目录下以及该目录下面的子目录下的源代码。对这个工具应该是很熟悉了,我们经常会用这个工具来重新编译BSP或者是工程中的某一个模块。实际上,Build.exe主要依赖于dirs文件和sources文件来工作的。有了这两种文件,Build.exe就知道哪些目录需要进去查询,目录下的哪些文件需要被编译以及最终要生成的二进制文件的类型。
1. Build.exe搜索当前目录下的dirs文件,如果dirs文件存在,会根据当前dirs文件中的描述进入子文件夹,查找dirs文件和sources文件。
2. 如果在当前目录中没有dirs文件,Build.exe查找sources文件,sources文件中会包含所要编译的文件的文件名,以及被编译成什么类型。
3. 如果Build.exe找到sources文件以后,就会调用Nmake.exe来编译和连接相应的目标文件。一般,被编译成功的文件可能是.exe文件,.dll文件或者是.lib文件。
4. 一般和sources文件位于同一个目录下面还有一个Makefile文件,在BSP中,所有的Makefile文件都是一样的,包含了Makefile.def文件,该文件中会包含一些编译选项。所以Nmake.exe会利用Makefile.def文件中的选项编译sources文件中定义的文件。
在WinCE6.0下面,Build.exe工具位于”/WINCE600/PUBLIC/COMMON/OAK/BIN/I386”目录下面,其实WinCE中的很多工具都在这个地方,具体使用格式如下:
Build [Parameter]
下面介绍一些具体的参数:
-?:帮助,现实所支持的所有参数。
-c:强制重新编译所有的文件。
-clean:删除所有的编译的目标文件。
常用的也就这几个,还有很多其他的参数,本人没有用过,所以不敢妄言。一般在运行Build的时候,会产生Build.log,Build.wrn和Build.err文件。Build.log是一个log文件,记录的编译的过程,有的时候我们在编译比较复杂的模块的时候,遇到错误时,这个文件对于找到错误非常的有用。Build.wrn记录了编译过程中的警告,如果编译结果没有警告,那么这个文件是空文件。Build.err记录了编译过程中的错误,如果编译没错误,这个文件也是个空文件。
关于Build.exe工具,在我们创建好一个WinCE工程以后,我们可以通过命令行调用这个命令来单独编译WinCE中的某一个模块,这样非常的方便,而且编译后的库文件或者是.exe文件会被自动的拷贝到工程的release目录下面。