Programmation X11

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. 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
    1. 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 ?
      1. 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
        1. 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...
          1. 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. 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+