Gcc 编译TK应用程序时对ClockCmd的未定义引用

Gcc 编译TK应用程序时对ClockCmd的未定义引用,gcc,linker,tcl,ld,tk,Gcc,Linker,Tcl,Ld,Tk,我正在尝试使用tk编译一个示例程序。我几乎把所有的图书馆都分类了,但我想我少了一个 命令: gcc ./tk.c -I/usr/include/tcl8.5/ -ltk8.5 -ltcl8.5 -lm -lpthread -lfontconfig -lX11 -lXft -lXss 输出: /tmp/cc78MM6w.o: In function `Tk_AppInit': tk.c:(.text+0xf5): undefined reference to `ClockCmd' tk.c:(.

我正在尝试使用tk编译一个示例程序。我几乎把所有的图书馆都分类了,但我想我少了一个

命令:

gcc ./tk.c -I/usr/include/tcl8.5/ -ltk8.5 -ltcl8.5 -lm -lpthread -lfontconfig -lX11 -lXft -lXss
输出:

/tmp/cc78MM6w.o: In function `Tk_AppInit':
tk.c:(.text+0xf5): undefined reference to `ClockCmd'
tk.c:(.text+0x120): undefined reference to `ClockObjDestroy'
tk.c:(.text+0x130): undefined reference to `ClockObjCmd'

谷歌上什么都没有——有人认识ClockCmd吗?谢谢。

我认为这些是Tcl实现的一部分,不应该在Tcl库之外引用。(在构建DLL/共享对象时,链接器被指示删除对它们的外部引用。)要么是这样,要么它们是代码的一部分,而您只是出于某种原因没有提供它们,但我想您应该知道是否是这样


如果我们真的能看到
tk.c
;的代码,我们就更容易弄清楚到底发生了什么;它显然不是任何Tcl或Tk代码发行版的一部分。

我认为示例代码有问题;其他例子都没有问题