编译错误: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
我无法弄清楚需要包含哪些依赖项和库才能编译它。如果有人可以帮我编译,我会非常感激。
答案 0 :(得分:0)
这里显而易见的可能性是您缺少开发包,例如。 tcl / tk的标头,通常看起来像tcl8.5-dev或tk8.5-dev,如果是这种情况,那么可能还有其他开发包。你在使用什么操作系统?