我正在尝试在tclsh中加载Tk包但我无法加载它。谷歌搜索后,我认为修改auto_path可能会有所帮助。但遗憾的是它并没有帮助我。
在我的Linux机器上,我可以运行tclsh并希望它们都是v8.3;以下是我在tclsh上尝试并希望:
% tclsh
% package require Tk
can't find package Tk
% puts $auto_path
/usr/share/tcl8.3 /usr/share /usr/lib
%
% wish
% puts $auto_path
/usr/share/tcl8.3 /usr/share /usr/lib /usr/share/tk8.3
%
% tclsh
% lappend auto_path /usr/share/tk8.3
/usr/share/tcl8.3 /usr/share /usr/lib /usr/share/tk8.3
% package require Tk
can't find package Tk
%
有人可以帮我解决这个问题吗?
编辑: 我尝试了以下方法让它工作。但必须有更好的方法
% tclsh
% load /usr/lib/libtk8.3.so
% package require Tk
8.3
答案 0 :(得分:2)
8.3中不支持将Tk作为标准软件包加载(现在基本上不支持;最后的8.3版本大约是10年前)。升级到8.5应该可以完成所有工作;它也可能在8.4中工作(但现在也已经结束了。)
(有很多原因导致它在8.3中不起作用;基本上,它需要添加额外的API函数 - 在8.4中完成 - 它需要以正确的方式完成构建。这样做了在8.4也。)