Programmation X11

arno -  
 gasper01 -
Salut,

Pour pouvoir travailler un tp de programation X11, j'ai installé knoppix.

lorsque je compile mon fichier avec :

gcc fichier.c -L/usr/X11R6/lib -lx11


Je recois le message suivant:
/usr/bin/ld : cannot find -lx11

Soit ma distribution n' inclut pas tous les outils de devellopements,
soit il faut les installer...

Si vous avez une solution à mon problème, merci de m'aider

7 réponses

crabs Messages postés 909 Statut Membre 507
 
Salut,
Voila ce que je fais chez moi et qui fonctionne. C'est après avoir fait ce test
que j'ai répondu à ton POST.
crabs:~/SYSTEM/C> cat x11_compil.c
#include <X11/Xlib.h>

int main( int argc, char** argv )
        {
        Display* d = XOpenDisplay( ":0.0" ) ;
        XCloseDisplay( d ) ;
        return 0 ;
        }

crabs:~/SYSTEM/C> gcc x11_compil.c -L/usr/X11R6/lib -lx11
/usr/lib/gcc-lib/i486-slackware-linux/3.3.4/../../../../i486-slackware-linux/bin/ld: cannot find -lx11
collect2: ld returned 1 exit status
crabs:~/SYSTEM/C> gcc x11_compil.c -L/usr/X11R6/lib -lX11      
crabs:~/SYSTEM/C> 

Les résultats du find semblent confirmer que les bbiliothèques sont installées :
précense du libX11.a (pour la compil avec la bibliothèque statique) et des
libX11.so (pour la compilation avec la bibliothèque dynamique et nécessaires
lors de l'éxécution du programme).
Il faut supprimer le -lx11 (avec X minuscule).
A+, crabs
1
crabs Messages postés 909 Statut Membre 507
 
Salut,
Sur ma distro c'est lX11 (avec un X majuscule)
sinon tu fait un find /usr -iname 'libx11*' comme ça tu vérifies si tu as
au moins les bibliothèques installées.
A+, crabs
0
arno
 
merci de ton aide Crabs
j'ai tapé :
find /usr -iname 'libx11*'


Malheureusement, le résultat ne me parle pas beaucoup :

knoppix@0[tp_ihm]$ find /usr -iname 'libx11*'
/usr/X11R6/lib/libX11.a
/usr/X11R6/lib/libX11.so
/usr/X11R6/lib/libX11.so.6
/usr/X11R6/lib/libX11.so.6.2
/usr/lib/libX11-nx.so
/usr/lib/libX11-nx.so.6
/usr/lib/libX11-nx.so.6.2
/usr/lib/libx11globalcomm.la
/usr/lib/libx11globalcomm.so
/usr/lib/libx11globalcomm.so.1
/usr/lib/libx11globalcomm.so.1.0.0
/usr/share/doc/libx11-6
/usr/share/doc/libx11-dev

au cas où j'ai tapé
find /usr -iname 'libX11*'
avec un X.

/usr/X11R6/lib/libX11.a
/usr/X11R6/lib/libX11.so
/usr/X11R6/lib/libX11.so.6
/usr/X11R6/lib/libX11.so.6.2
/usr/lib/libX11-nx.so
/usr/lib/libX11-nx.so.6
/usr/lib/libX11-nx.so.6.2
/usr/lib/libx11globalcomm.la
/usr/lib/libx11globalcomm.so
/usr/lib/libx11globalcomm.so.1
/usr/lib/libx11globalcomm.so.1.0.0
/usr/share/doc/libx11-6
/usr/share/doc/libx11-dev

que dois-je en conclure ?

est ce que x11 est bien installé ?
Si non comment faire ?
0
crabs Messages postés 909 Statut Membre 507
 
Salut,
Ben ça à l'air pas mal, as-tu refait la compil avec le X en majuscule.
gcc fichier.c -L/usr/X11R6/lib -lX11

A+, crabs
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nono
 
oui, j'ai aussi essayé avec l'option -lX11 mais ca produit le même resultat.

le probleme, c'est que si je compile uniquement avec l'autre option de compilation, la compilation ne marche pas...
0
philtrain
 
Bonsoir,

Sur knoppix, pour installer les fichiers de bibliothèque:
#apt-get install libx11-devel

Puis pour compiler:
$gcc -Wall prog.c -lX11 -L/usr/X11R6/lib -o prog

a+
0
gasper01
 
salut si tu px m'envoyer un cours sur la programmation X11
0