作者:Antony Pranata 2004.8.22
GenBuild是一个Symbian工具,它允许为若干对象使用一个指令创建若干工程。在你开发若干成分并想用一个指令创建它们时GenBuild是有用的。它是大家都知的bldmake和abld脚本的一个包裹器。
想像你正在与一些其他的开发者合作,而且他们每一个正在开发一个结构。当你接受来自他们的更新时, 你将它们拷贝到你的硬盘并使用" bldmake bldfiles" 和 " abld build" 指令建立每个结构。换句话说你必须重复几次。 GenBuild通过使用一条指令将使它变的更加简单。在文章的末尾,你将会看到如何使用GenBuild编译所有的 Series 60 SDK的例子。
如何使用 GenBuild
GenBuild同时创建若干脚本来完成特殊的任务。举例来说,GenBuild 将会产生一个脚本,叫做myprograms_build.cmd,为所有的目标创建工程, 像 WINS 或 ARMI。
你需要做的是使用GenBuild创建一个包含工程列表的文本文挡。举例来说,你有三个工程,分别叫做program1,program2和program3。每一个被储存在一个目录中并且名字与工程一样。现在建立一个文本文挡,叫做了myprograms.txt, 并且复制粘贴下面的列表。
program1 program1
program2 program2
program3 program3
列表中有两个栏。第一个栏指出程序或结果的名字。当你想要查看程序的纪录文件的时,它是有用的。第二个栏指出结构被储存的目录,相对于目前的目录。
现在我们准备好运行GenBuild。键入下列的指令运行它。
genbuild myprograms.txt
GenBuild 将会产生一些脚本, 用来创建你的程序。下列的指令将会为每个默认的目标创建程序,也就是WINS, ARMI and ARM4。
myprograms_build.cmd
你也可能只为一个特定的平台建立, 例如WINS,使用下列指令。
myprograms_pbuild.cmd wins
很遗憾,在脚本中你不能指定配置,UDEB或UREL。它将会编译UDEB 和UREL。然而, 有其他的脚本允许你只为一个配置编译。下列的指令表示了如何编译ARMI UREL。
myprograms_bldfiles.cmd
myprograms_export.cmd armi
myprograms_makefile.cmd armi
myprograms_library.cmd armi
myprograms_resource.cmd armi
myprograms_target.cmd armi urel
myprograms_final.cmd armi
下面的列表显示了对脚本来说,通过GenBuild和等价的创建指令(文章结束的查看abld找到更多的等价指令)
|
GenBuild Commands |
Symbian Commands |
|
myprograms_bldfiles.cmd |
bldmake bldfiles |
|
myprograms_export.cmd |
abld export |
|
myprograms_makefile.cmd |
abld makefile |
|
myprograms_library.cmd |
abld library |
|
myprograms_resource.cmd |
abld resource |
|
myprograms_target.cmd |
abld target |
|
myprograms_final.cmd |
abld final |
|
myprograms_check.cmd |
abld -check build |
|
myprograms_what.cmd |
abld -what build |
|
myprograms_clean.cmd |
abld clean |
|
myprograms_reallyclean.cmd |
abld reallyclean |
|
myprograms_build.cmd |
组合所有以上脚本 |
|
myprograms_pbuild.cmd |
为特定的目标而选择编译 |
在GenBuild中也可以指定更多选项, 像savespace或keepgoing。举例来说,下面的GenBuild列表将会在编译程序的时候增加-savespace选项。
<option savespace>
program1 program1
program2 program2
program3 program3
选项使用的另一个例子是通过默认的GenBuild添加THUMB和WINSCW从而创建WINS、ARMI和ARM4平台。
<option winscw thumb>
program1 program1
program2 program2
program3 program3
如何使用GenBuild编译Series 60的例子
为了更好的理解GenBuild,看以下文件,series60ex.txt,它创建所有的Series 60 SDK 2.x例子。在Series 60 SDK配置中目录\series60ex下建立这个文件
animation animation\gui\group
bmpmanip bmpmanip\group
btadvertiser btadvertiser\group
btdiscovery btdiscovery\group
bthci bthci\group
btobjectexchange btobjectexchange\group
btpointtopoint btpointtopoint\group
cipher cipher\group
clientserverasync clientserverasync\client\group
clientserversync clientserversync\client\group
dialer dialer\group
editor editor\group
errorui errorui\group
fetching fetching\group
focusevent focusevent\group
form form\group
graphics graphics\group
grid grid\group
guiengine guiengine\group
helloworldbasic helloworldbasic\group
helloworldplus helloworldplus\group
helpexample helpexample\group
language language\group
listbox listbox\group
menu menu\group
multiviews multiviews\group
note note\group
notification notification\group
popupfield popupfield\group
popuplist popuplist\group
progressbar progressbar\group
query query\group
scroller scroller\group
settinglist settinglist\group
shoppinglist shoppinglist\group
slider slider\group
sockets sockets\group
sound sound\group
spane spane\group
testframe testframe\group
你可以通过以下指令创建它们
series60ex_build.cmd
或使用以下指令只创建WINS
series60ex_pbuild.cmd wins
|
|
此文为开发视界原创转载者请注明出处否则追究法律责任 | |