当我收到此处显示的错误时,我正在尝试编译或制作 Esetroot。是否需要添加某种命令行参数来制作,头文件已经添加到c文件中,所以我不确定X11中缺少什么头文件。我的 X11-devel 和 imlib2-devel 已安装。
谢谢
%userx@voided Esetroot-20030422>$make
cc -L/usr/lib -lImlib2 -DPIXMAP_SUPPORT -DHAVE_UNISTD_H -o Esetroot Esetroot.c
/usr/bin/ld: /tmp/ccug0Ak3.o: undefined reference to symbol 'XSetFillStyle'
/lib64/libX11.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:15: recipe for target 'Esetroot' failed
make: *** [Esetroot] Error 1
C文件中的头文件。
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xatom.h>
#include <X11/Xos.h>
#include <Imlib2.h>
答案1
这XSetFillStyle
函数位于 X11 库(也称为“Xlib”)中。
您的示例并未显示您使用 X11 库,例如,添加 a-lX11
会有所帮助。 (某些配置需要额外的库):
cc -DPIXMAP_SUPPORT -DHAVE_UNISTD_H -o Esetroot Esetroot.c -lImlib2 -lX11