【发布时间】:2018-11-06 00:09:21
【问题描述】:
我在 Windows 10 平台上使用 Strawberry Perl 构建 Tkx 模块时遇到问题。它在 Tcl 依赖项上失败。错误是:
Tcl.o:Tcl.c:(.text+0x65): undefined reference to `__imp_Tcl_GetStringFromObj'
Tcl.o:Tcl.c:(.text+0x15e): undefined reference to `__imp_Tcl_ListObjGetElements'
Tcl.o:Tcl.c:(.text+0x1fb): undefined reference to `__imp_Tcl_GetStringFromObj'
Tcl.o:Tcl.c:(.text+0x29a): undefined reference to `__imp_Tcl_GetByteArrayFromObj'
Tcl.o:Tcl.c:(.text+0x4bf): undefined reference to `__imp_Tcl_NewStringObj'
Tcl.o:Tcl.c:(.text+0x538): undefined reference to `__imp_Tcl_NewDoubleObj'
Tcl.o:Tcl.c:(.text+0x58f): undefined reference to `__imp_Tcl_NewStringObj'
Tcl.o:Tcl.c:(.text+0x5d7): undefined reference to `__imp_Tcl_NewByteArrayObj'
Tcl.o:Tcl.c:(.text+0x621): undefined reference to `__imp_Tcl_NewListObj'
Tcl.o:Tcl.c:(.text+0x643): undefined reference to `__imp_Tcl_ListObjAppendElement'
Tcl.o:Tcl.c:(.text+0x6a1): undefined reference to `__imp_Tcl_NewObj'
Tcl.o:Tcl.c:(.text+0x6af): undefined reference to `__imp_Tcl_ListObjAppendElement'
Tcl.o:Tcl.c:(.text+0x6d1): undefined reference to `__imp_Tcl_NewIntObj'
Tcl.o:Tcl.c:(.text+0x786): undefined reference to `__imp_Tcl_NewByteArrayObj'
Tcl.o:Tcl.c:(.text+0x839): undefined reference to `__imp_Tcl_WrongNumArgs'
还有很多很多类似的错误。我搜索了,但我什至没有发现任何东西。 Strawberry Perl 版本是 5.26.4,我做了推荐
cpan Tkx
我在尝试自己构建 Tcl 模块时遇到了同样的错误:
cpan Tcl
我安装了 ActiveTcl,但 Strawberry Perl 似乎看不到它。
我如何获得适用于 Strawberry Perl 的 Tcl 模块?
【问题讨论】:
-
这可能与 ActiveTcl 是如何用 Visual-C++ 构建的,但 Strawberry Perl 是用 MinGW 构建的(如果 Strawberry Perl 看不到你的 tclsh,你甚至不会走到这一步)。
标签: windows perl tcl strawberry-perl