我使用ActiveStates TCL版本8.6.0.0 for Windows x64。 在我打电话的脚本中:
package require tcom
Tcom包含在安装中但我收到以下错误:
couldn't load libary "C:/TCL/lib/tcom/tcom.dll": Invalid argument while executing
"load C:/TCL/lib/tcom/tcom.dll"
("package ifneeded tcom 3.9" script)
invoked from within
"package require tcom"
有谁知道什么是实际遗失的? C:/TCL/lib/tcom/tcom.dll安装在我的系统上,那么什么是“无效参数”?
答案 0 :(得分:3)
这似乎是一个32位/ 64位问题。您不能在同一个进程†中混合使用不同的位大小,并且您可能已经安装了64位版本的ActiveTcl 8.6.0.0,认为它与构建的大小和系统相匹配建筑是个好主意。唉,事实并非如此。用于64位Windows的ActiveTcl 8.6.0.0由于商业原因‡,需要额外的产品密钥才能访问其64位版本的外部软件包。但是你已经安装了软件包(可能是以前安装的ActiveTcl?),看起来是32位版本。
使用错误大小的二进制库构建的误导性错误是不幸的(一个相对较小的错误源于Windows和POSIX之间的微妙差异以及Tcl如何处理两者之间的映射)但我敢打赌就是这样。 / p>
最简单的解决方法是:
C:\Tcl
目录确实已删除,然后teacup update
安装完整的软件包,您应该让Tcom正常工作。 †除了具有额外技巧的ARM之外,这里不适用。
‡我不打算为他们辩护;这是他们的决定,而不是我的决定。