我已经使用rpm为tcl安装了BLT,看起来它已正确安装。
从愿望中我可以成功执行“package require BLT”但是,如果我尝试这样做:
blt::hierbox .h
我收到以下消息:
无法读取文件“hierbox.tcl”:没有这样的文件或目录
我查看了/usr/lib64/blt2.4
,heirbox.tcl
就在那里,似乎没有任何异常的权限。
我猜pkgIndex.tcl
必须正常,否则package require命令会失败。
有趣的是,BLT的图形小部件似乎工作正常:blt::graph .g
有效。
我不太了解tcl(我只是想让一些遗留软件工作)所以任何帮助都会非常感激。
更新我已经从源代码构建了BLT(它还需要从源代码构建tcl和tk 8.4),这似乎有效。但是,只有我使用随附的bltwish。我看到其他人抱怨的转速版本的BLT似乎没有任何一个bltwish exe。也许这是问题的一部分。
无论如何,我现在可以解决这个问题,所以除非其他人也受苦,否则不要去做任何诊断我以前问题的努力。
答案 0 :(得分:1)
在我的Debian系统上,我使用Tcl 8.6和8.5(前者作为默认值),我使用标准debs安装了BLT2.4,如果我运行相同的代码,它可以工作并创建{ {1}}对象。
hierbox
BLT安装在$ wish
% package require BLT
2.4
% blt::hierbox .h
.h
%
目录中,其中包含/usr/lib/blt2.4
文件和pkgIndex.tcl
文件,因此它看起来与您的条件相同(除了结果)。
我查看了hierbox.tcl
文件,然后选择要加载的二进制库(位于pkgIndex.tcl
中),并使用Tcl /usr/lib
命令加载它。包的声明由共享对象完成,因此如果load
有效,则需要正确加载package require BLT
。
尝试查看.so
文件是否与graph.tcl
位于同一目录中。
我在BTL源代码中看到hierbox.tcl
脚本有一个--with-blt
选项,用于说明放置BLT脚本的位置。我认为它在我的系统上是configure
,但也许在你的系统上它已被改变;然后,如果rpm错误,它可能会将/usr/lib/blt2.4
文件安装在配置选项给出的正确位置,但graph.tcl
位于错误的位置,这样它就不再起作用了。 / p>
尝试其他小部件,并查看相应的hierbox.tcl
文件的位置。
我不能再说这个了,抱歉:)