Newsgroup: it.comp.os.linux.iniziare
Titolo: Come compilo questo sorgente di numlock

Salve,
qualche tempo fa' qualcuno invio su questo news group questo file 
sorgente da compilare
#include <X11/extensions/XTest.h>
#include <X11/keysym.h>
int main()
    {
    Display* disp = XOpenDisplay( NULL );
    if( disp == NULL )
        return 1;
    XTestFakeKeyEvent( disp, XKeysymToKeycode( disp, XK_Num_Lock ),
True, CurrentTime );
    XTestFakeKeyEvent( disp, XKeysymToKeycode( disp, XK_Num_Lock ),
False, CurrentTime );
    XCloseDisplay( disp );
    return 0;
    }
Il file binario messo /bin ed editando il file /etc/X11/xdm/Xsetup_0 
aggiungendo /bin/numlock, questo avrebbe abilitato il numlock sotto X.
Solo che non mi ricordo piu' quali sono le istruzioni per compilarlo.
Qualcuno e' in grado di aiutarmi?
Grazie mille,
-- 
*************************************************
* Danilo Marcucci				*
* E-mail mailto:
dmar...@lycos.it
              *
*************************************************

 Qualcuno e' in grado di aiutarmi?
Direi gcc nomefilesorgente.c -o nomefileeseguibile
Davide

 Direi gcc nomefilesorgente.c -o nomefileeseguibile
Questo è quello che succede:
#gcc numlock.c -o numlock
/tmp/ccTmdUcn.o: In function `main':
/tmp/ccTmdUcn.o(.text+0xc): undefined reference to `XOpenDisplay'
/tmp/ccTmdUcn.o(.text+0x35): undefined reference to `XKeysymToKeycode'
/tmp/ccTmdUcn.o(.text+0x46): undefined reference to `XTestFakeKeyEvent'
/tmp/ccTmdUcn.o(.text+0x5a): undefined reference to `XKeysymToKeycode'
/tmp/ccTmdUcn.o(.text+0x6b): undefined reference to `XTestFakeKeyEvent'
/tmp/ccTmdUcn.o(.text+0x79): undefined reference to `XCloseDisplay'
collect2: ld returned 1 exit status
Sai aiutarmi ulteriormente?
Grazie mille per adesso,
-- 
**************************************************


Qualcuno e' in grado di aiutarmi?
gcc numlock.c -o numlock -lX11 -lXtst -I/usr/X11R6/include \
-L/usr/X11R6/lib
-- 
Bye,     |
Alfredo  |_____________________________________
Amontagna|   powered by Debian GNU/Linux 2.2

 /tmp/ccTmdUcn.o(.text+0xc): undefined reference to `XOpenDisplay'
haaaaaa! Allora non e' un sorgente normale ma usa le librerie per X.
Credo tu debba usare gtk o quello che diavolo e' (chi se lo ricorda
piu').
Suggerisco di riproporre la domanda su it.comp.os.linux.software con
un soggetto come "compilare un programma per X" oppure cerca la
documentazione relativa a quel programma.
Davide

 -L/usr/X11R6/lib
OK! A funzionato perfettamente.


 Sai aiutarmi ulteriormente?
Le librerie.
???: undefined reference to `XYZ`
sigifica che non sa nulla della funzione 'XYZ';
o la scrivi tu o gli dici in quale libreria si trova.
gcc file.c -o exe -l<lib1> -l<lib2> .. -l<lib3>
forse la lettura di un manuale 'C' ti puo` aiutare, appunti linux ha una sezione
sulla programmazione e ti spiega anche il processo di compilazione.
buona lettura.
-- 
Mario Michele Macaluso     -o)  | You will stop at nothing to reach your     
m.macaluso .@. 
libero.it
   /\\  | objective, but only because your brakes are
                          _\\_v | defective.                                 
                                |                                            
Kernel 2.2.14-5.0 on a i586     |                                            
(All addresses in headers are fake. Only one dot in signature.)