Pagina 1 di 1

Problemi GCC e header X11

Inviato: sab 22 set 2007, 4:35
da phobos3576
Qualcuno di voi riesce a compilare questo programma C?

Codice: Seleziona tutto

#include <stdio.h>
#include <unistd.h>

#include <X11/Xlib.h>
#include <X11/keysym.h>
#include <X11/extensions/XTest.h>

int main()
{
	Display *display;

	if ((display = XOpenDisplay(NULL)) == NULL) {
		printf("error: couldn't create a connection\n");
		return 1;
	}
	printf("first test started\n");
	sleep(55);
	XWarpPointer(display, None, None, 0, 0, 0, 0, 0, 0);
	XFlush(display);
	sleep(55);
	printf("first test finished\n");

	printf("second test started\n");
	XTestFakeRelativeMotionEvent(display, 0, 0, 0);
	XFlush(display);
	sleep(55);
	printf("second test finished\n");

	printf("third test started\n");
	XTestFakeKeyEvent(display, XKeysymToKeycode(display, XK_Shift_L), True, 0);
	XTestFakeKeyEvent(display, XKeysymToKeycode(display, XK_Shift_L), False, 0);
	XFlush(display);
	sleep(55);
	printf("third test finished\n");

	return 0;
}
Il GCC mi dice che le funzioni dichiarate nei vari header di X11 non sono state trovate; ad esempio:

Codice: Seleziona tutto

undefined reference to `XOpenDisplay'
Sulla Slackware ho tutti i necessari link simbolici a X11.
Cercando in Rete ho scoperto che รจ un problema noto, ma mi sembra strano che non lo abbiano ancora risolto; i link simbolici creati automaticamente durante l'installazione della Slackware dovrebbero servire proprio a risolvere il problema.

Inviato: dom 23 set 2007, 1:14
da phobos3576
Mi rispondo da solo:

Codice: Seleziona tutto

gcc -L/usr/X11R6/lib -lX11 -lXtst nomefile.c