编译错误:Tk with X11 - 帮助依赖

时间:2011-03-17 17:47:17

标签: x11 makefile

编译错误:Tk with X11 - 帮助依赖

我正在尝试将Tk编译到我的代码中,并且我很难在我的Makefile中获取X11依赖项。要包含Tk,我对Makefile进行了以下更改:

LIBS64 = \
    -ltk8.5 \
    -ltcl8.5 

编译时出现以下错误。我编辑了它以减少混乱:

...

: undefined reference to `XDrawLine'
<local>/libtk8.5.a(ttkElements.o)(.text+0x16b0): In function `SliderElementDraw':

...

: undefined reference to `XFillPolygon'
<local>/libtk8.5.a(ttkElements.o)(.text+0x1bbd): In function `TabElementDraw':

...

: undefined reference to `XFillRectangle'
collect2: ld returned 1 exit status

为了摆脱这个错误,我在我的Makefile中添加了-lX11:

LIBS64 = \
    -ltk8.5 \
    -ltcl8.5 \
    -L/usr/X11R6/lib64 \
    -lX11 

编译时出现以下错误。我编辑了它以减少混乱:

: undefined reference to `FcPatternAddInteger'
<local>/libtk8.5.a(tkUnixRFont.o)(.text+0xe39): In function `TkpGetNativeFont':

: undefined reference to `XftXlfdParse'
<local>/libtk8.5.a(tkUnixRFont.o)(.text+0xe6c): In function `TkpGetNativeFont':

: undefined reference to `FcPatternDestroy'
collect2: ld returned 1 exit status

所以我尝试添加更多库,但我似乎遇到了编译错误。

我的上一个Makefile看起来像这样:

LIBS64 = \
    -ltk8.5 \
    -ltcl8.5 \
    -L/usr/X11R6/lib64 \
    -lXft \
    -lXss \
    -lX11 \
    -lICE \
    -lSM

我无法弄清楚需要包含哪些依赖项和库才能编译它。如果有人可以帮我编译,我会非常感激。

1 个答案:

答案 0 :(得分:0)

这里显而易见的可能性是您缺少开发包,例如。 tcl / tk的标头,通常看起来像tcl8.5-dev或tk8.5-dev,如果是这种情况,那么可能还有其他开发包。你在使用什么操作系统?