对ClockCmd编译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:(.text+0x120): undefined reference to `ClockObjDestroy'
tk.c:(.text+0x130): undefined reference to `ClockObjCmd'

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

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

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

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

最新更新