Tcl/tk实例—使用tclkit工具将脚本打包成可执行文件(.exe)

下载 tclkit.exe 工具,及 sdx.kit 文件。

复制一份tclkit.exe ,命名为tclkit2.exe。

假设你的脚本文件为:app.tcl


Step1:

命令行执行

tclkit.exe sdx.kit qwrap app.tcl

执行完毕会生成一个 app.kit 文件。


Step2:
tclkit.exe sdx.kit unwrap app.kit

执行完毕会在目录下生成 app.vfs 文件夹和app.kit文件。

 

Step3:

如果你的 tcl 脚本中存在这样的语句:

package require xxx
请将脚本所依赖的包xxx,复制到 app.vfs\lib  下面。

如果你想改变所生成文件的图标:

将你的图标文件(*.ico)复制到 app.vfs 文件夹,并改名为 tclkit.ico。(ico是图标扩展名)

 

Step4:

命令行执行

tclkit.exe sdx.kit wrap app.exe -runtime tclkit2.exe

执行完毕会在目录生成 app.exe 文件,完成。

 

More:

 

调用打包后.exe文件中的资源

执行Step4之前,可以向app.vfs文件夹中加入资源(图片、文档),一起打包进去。

此时,我们的目标脚本app.tcl是位于app.vfs/lib/app-app下。

复制文件exit.png到app.vfs/lib/app-app/icons/exit.png;

复制脚本test.tcl到app.vfs/lib/app-app/test.tcl

可以在app.tcl中这样使用这2个资源:

set img [ open [ file dirname [ info script ]]/icons/exit.png {RDONLY BINARY} ]; #读取app.exe/app.vfs/lib/app-app/icons下的exit.png文件
set data [ read $img nonewline ]
close $img
# do something here

source [ file dirname [ info script ]]/test.tcl; #在当前位置导入app.exe/app.vfs/lib/app-app下的test.tcl脚本


执行Step4后,双击执行app.exe文件,OK。

猜你喜欢

转载自blog.csdn.net/wn0112/article/details/7827547