我正在尝试使用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代码分发的一部分。
我认为示例代码有问题;其他例子都没有问题。