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

时间:2012-08-02 21:39:03

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

Google上什么也没有 - 有人认出ClockCmd吗?感谢。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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