要構建一個starpack,您需要a)一個tclkit運行時,b)sdx.kit。你還需要一個「basekit」,這個可執行文件將用你的tcl代碼包裝起來。對於這個例子,我假設你正在爲你正在運行的同一個平臺創建一個應用程序。您可以創建簡單地複製tclkit一個basekit(或tclkit.exe在Windows上)爲另一個名稱,如「basekit」
% ls
sdx.kit tclkit
% cp tclkit basekit
% ls
basekit sdx.kit tclkit
現在,創建要裹已經成可執行的代碼。該公約是創建一個目錄,您的應用程序的名稱和後綴「.vfs」(即‘虛擬文件系統’),然後創建在該目錄中名爲文件‘main.tcl’:
% mkdir myapp.vfs
% cat > myapp.vfs/main.tcl
package require Tk
label .l -text "Hello, world"
pack .l
^D
% ls myapp.vfs
main.tcl
現在來做這個包裝:爲此你需要sdx.kit文件。假設它和tclkit(或tclkit.exe)是當前工作目錄,你換你的應用程序是這樣的:
% ./tclkit sdx.kit wrap myapp -runtime basekit
1 updates applied
% ls
basekit myapp myapp.vfs sdx.kit tclkit
的包裝命令知道什麼時候你給它的參數「的myapp」,它應該將這些內容包裝的myapp.vfs,並且它應該在該目錄中查找名爲「main.tcl」的文件作爲程序入口點。您可以在該目錄中放置任何其他文件,並將它們全部打包,包括特定於平臺的二進制文件,圖像文件以及任何您想要捆綁的文件。
您現在有一個可執行文件'myapp',它是打包的應用程序。
如果您有針對不同體系結構的tclkits,您可以使用它們(用命令行上的'basekit'替換目標體系結構的套件)以交叉編譯其他平臺。
欲瞭解更多信息,請參閱該Tcl'ers Wiki
謝謝布萊恩 - 你的回答看起來不錯。我現在應該可以開始了。 DFM – DFM 2009-09-01 15:24:22
關於sdx.kit和tclkit的問題 - 我似乎無法獲得sdx和tclkit qwrap。花了幾個小時試圖讓sdx和tcl進入qwrap後,我不斷收到錯誤無效的命令名。我甚至按照網絡指示,並將tclkit.exe更改爲tclkitsh.exe。我認爲我遇到了sdx文件的問題。你如何下載sdx文件?我所能做的就是將文本複製到記事本並將擴展名更改爲.kit。 sdx文件不像普通文件那樣下載,而且我嘗試了多個版本(?) 謝謝 DFM – DFM 2009-09-01 21:37:10
以某種方式複製sdx.kit的文本將無法正常工作 - 這是一個二進制文件。也許你正在獲得源代碼?從此鏈接下載:http://www.equi4.com/pub/sk/sdx.kit。 – 2009-09-01 23:45:29