官方下載的tclkit可能沒有包big5的編碼或一些常用的tcl套件,如果想要把big5的編碼加進去或是包一些額外的套件,這時就需要修改官網下載的tclkit了。
建立支援其它編碼的tclkit
以下是大概的步驟。首先,你需要先下載tclkit及sdx.kit,個人比較喜歡在Google Code的tclkit的專案下載。下載完成後你需要先複製一份tclkit,假設我下載的是linux版的tclkit-8.5.8還有sdx-20090202.kit。我會把這兩個檔案放在同一個資料夾,然後把sdx-20090202.kit重新命名為sdx.kit。然後把tclkit8.5.8複製一份命名為tclkit,所以現在總共有3個檔案,分別是:- tclkit
- tclkit-8.5.8
- sdx.kit
下一步,我要把tclkit-8.5.8裡的資料抽取出來,先切到放tclkit的目錄,然後用下列的命令:
./tclkit sdx.kit unwrap tclkit-8.5.8
執行完後,你在目前的目錄下應該會發現多了一個tclkit-8.5.vfs的資料夾,你只要把你想要的包進去的編碼複製到下面的資料夾裡:
./tclkit-8.5.vfs/lib/tcl8.5/encoding
把想要增加的package複製到下都的資料夾:
./tclkit-8.5.vfs/lib
然後再重新打包。打包的命令是:
./tclkit sdx.kit wrap my-tclkit-8.5.8 -vfs tclkit-8.5.vfs -runtime tclkit-8.5.8
這樣一個你自己的客製tclkit就完成了。
注意哦!! 你可以在本機Tcl的安裝目錄下複製那些你想要加入tclkit的編碼檔或是package。
用tclkit打包含big5編碼的程式檔
正常的情況採用big5編碼的程式檔,如果直接包成starpack,這樣可能會讓程式執行產生中文亂碼。這是因為tclkit預設是以utf-8編碼來載入你的程式的關系,如果想要解決這個問題,可以用下面的方法:
step1.先建立一個用來打包的資料夾假設叫 "myApp.vfs"
step2.把你寫的tcl程式放在裡面假設主程式叫 app.tcl
step3.在myApp.vfs的資料夾裡建立一個main.tcl內容如下:
step4.打包執行檔
./tclkit sdx.kit wrap myApp -vfs myApp.vfs -runtime tclkit-8.5.8
如果一來你自己包的執行檔就不會發生亂碼了。
按右上方的「#」號切換側邊欄