包需要Tk - 不在tclsh中工作

时间:2011-03-08 22:36:17

标签: tcl tk

我正在尝试在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

1 个答案:

答案 0 :(得分:2)

8.3中不支持将Tk作为标准软件包加载(现在基本上不支持;最后的8.3版本大约是10年前)。升级到8.5应该可以完成所有工作;它也可能在8.4中工作(但现在也已经结束了。)

(有很多原因导致它在8.3中不起作用;基本上,它需要添加额外的API函数 - 在8.4中完成 - 它需要以正确的方式完成构建。这样做了在8.4也。)