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
Configuration: dual boot knoppix /Windows sur un portable compaq 2,66Ghz

7 réponses

  1. 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
  2. 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
  3. 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
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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
  7. 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
  8. gasper01
     
    salut si tu px m'envoyer un cours sur la programmation X11
    0