Referência indefinida ao símbolo 'XSetFillStyle'

1

Estou tentando compilar ou criar para o Esetroot quando recebo um erro mostrado aqui. Existe algum tipo de argumento de linha de comando que eu tenho que adicionar para fazer, Os arquivos de cabeçalho já são adicionados ao arquivo c, então não tenho certeza de qual arquivo de cabeçalho ele está faltando no X11. meu X11-devel e imlib2-devel estão instalados.

obrigado

%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

arquivos de cabeçalho no arquivo C.

#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xatom.h>
#include <X11/Xos.h>
#include <Imlib2.h>
    
por uxserx-bw 19.01.2016 / 16:07

1 resposta

2

A função XSetFillStyle vive no X11 biblioteca (também referida como "Xlib").

O seu exemplo não mostra que você usa a biblioteca X11, por exemplo, adicionar um -lX11 ajudaria. (Algumas configurações requerem bibliotecas adicionais):

cc  -DPIXMAP_SUPPORT -DHAVE_UNISTD_H -o Esetroot Esetroot.c -lImlib2  -lX11
    
por 19.01.2016 / 22:56

Tags