#環境
OSX 10.14.5
Homebrew 2.1.6
#イントロ
画像処理プログラムを動かすオープンソースでマルチプラットフォームな簡易GUIを簡単に作成したかった。
候補にはopencvのhighguiをこねくるか、cvuiを入れるか、qtをお勉強するかだったが、パラメタのやり取りを外部のテキストファイルとやり取りしたい、でも学習コストはかけたくないとか考えるうちにtcl/tkを利用することにした。
shellscript
が得意なら、この選択肢はとてもいいはず。
WSL2
の普及への期待からもshell言語は色々試すのは価値があるかもと。
もともとOSXにはtcltkが入っているが、どうせなら最新バージョンを入れるところから。
でも元気がなかったのでビルドはやめてHomebrewを使った。
(本当のところは、デフォルトで入っているtcl/tk
さんは、表示がもっさりしていて、refleshかけないとbuttonのtextが表示されず、一度reinstallしたかったから)
#現在のバージョン確認
% wish
% info patchlevel
8.5.9
実はそんなに古くないらしい
(最新は8.6.9 2019/07/01現在)
#Homebrewでのインストール
brew update
brew install tcl-tk
tcltk
ではなくtcl-tk
とハイフン入りなのに注意
(良い子は事前に調べておきましょうね)
If you need to have tcl-tk first in your PATH run:
echo 'setenv PATH /usr/local/opt/tcl-tk/bin:$PATH' >> ~/.tcshrc
For compilers to find tcl-tk you may need to set:
setenv LDFLAGS -L/usr/local/opt/tcl-tk/lib;
setenv CPPFLAGS -I/usr/local/opt/tcl-tk/include;
For pkg-config to find tcl-tk you may need to set:
setenv PKG_CONFIG_PATH /usr/local/opt/tcl-tk/lib/pkgconfig;
==> Summary
🍺 /usr/local/Cellar/tcl-tk/8.6.9: 2,983 files, 50.1MB
と言われるので、自前でパスを通しましょう(次節)
tclshとwishのパスの整理
実行ファイル
もともと通っているものはwhich wish
、which tclsh
とls -l
で調べておく。
なお私のデフォルトシェルはtcsh
です。
% ls -l `which tclsh wish`
lrwxr-xr-x /usr/bin/tclsh -> tclsh8.5
lrwxr-xr-x /usr/bin/wish -> wish8.5
tclsh8.5
、wish8.5
にリンクされているだけのようなので、削除して~/.tcshrc
にbrew
が教えてくれたパスを書き込んでパスの再読み込み(source ~/.tcshrc
)しておく。
ライブラリパス
pkg-config用に通しておく。C++
でプログラミングしない人は無視していい。
デモスクリプトの確認
widget Demoを見てみる。
まず、info patchevel
でバージョン確認。
% wish
% info patchlevel
8.6.9
出てきているwishのwindowから、ファイルメニューでFile>Run Widget Demo
無事に表示されればOK。
Demoを見ているだけでも楽しいですね。
参考
[Homebrew] (https://formulae.brew.sh/formula/tcl-tk)