[C] compilation avec Xlib sur freebsd, je désespère

compilation avec Xlib sur freebsd, je désespère [C] - C++ - Programmation

Marsh Posté le 09-12-2002 à 16:40:02    

bon, j'ai un programme qui en C est "théoriquement" sans erreur    
     
j'ai ajouté    
     

Code :
  1. #include <X11/Xos.h>
  2. #include <X11/Xlib.h>
  3. #include <X11/Xatom.h>
  4. #include <X11/keysym.h>

   
   
ya qq fonction de la Xlib que j'utilise ...  
bon du coup je compile avec cette commande  
   
gcc gameoflife.c -I/usr/X11R6/include/ -L/usr/X11R6/include/ -o gameoflife.out  
   
et ... pas d'erreurs de syntaxe, mais  
ca  
   
/tmp/ccMeUeo1.o: In function `Xaffichage':  
/tmp/ccMeUeo1.o(.text+0x547): undefined reference to `XOpenDisplay'  
/tmp/ccMeUeo1.o(.text+0x590): undefined reference to `XCreateSimpleWindow'  
/tmp/ccMeUeo1.o(.text+0x5a8): undefined reference to `XMapWindow'  
/tmp/ccMeUeo1.o(.text+0x5e6): undefined reference to `XFlush'  
/tmp/ccMeUeo1.o(.text+0x5f5): undefined reference to `XCloseDisplay'  
   
   
 [:el hortense]  [:el hortense]  
 
une idée, parce que là je sèche :(

Reply

Marsh Posté le 09-12-2002 à 16:40:02   

Reply

Marsh Posté le 09-12-2002 à 16:55:50    

tu veux pas faire un slocate lib*X*.so pour voir?


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 09-12-2002 à 16:59:22    

manquerait pas un -lX11 dans ta commande de compile ?

Reply

Marsh Posté le 09-12-2002 à 17:02:35    

lorill a écrit :

manquerait pas un -lX11 dans ta commande de compile ?

d'ou mon ptit tip  ;)


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 09-12-2002 à 17:09:08    

$ locate Xlib.h  
/usr/X11R6/include/X11/PEX5/PEXlib.h  
/usr/X11R6/include/X11/Xlib.h  
 
 
-lX11?  :??: skoi?

Reply

Marsh Posté le 09-12-2002 à 17:10:52    

-l pour indiquer au linker de lier avec la bibliothèque qui suit, et X11 parce que tu veux lier avec X11, justement  [:sinclaire]

Reply

Marsh Posté le 09-12-2002 à 17:13:53    

lorill a écrit :

-l pour indiquer au linker de lier avec la bibliothèque qui suit, et X11 parce que tu veux lier avec X11, justement  [:sinclaire]  

je vais tester ca de suite  
 
merci! [:dawa]

Reply

Marsh Posté le 09-12-2002 à 17:14:09    

tu as déjà fait des bibliotheque dynamique?
 
t'as jamais été confronté au classique -lm? ou -lpthread?


Message édité par Taz@PPC le 09-12-2002 à 17:14:54

---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 09-12-2002 à 17:15:44    

cai un "L" mininuscule ou un "i" majuscule?  :whistle:

Reply

Marsh Posté le 09-12-2002 à 17:16:34    

Taz@PPC a écrit :

tu as déjà fait des bibliotheque dynamique?  
   
t'as jamais été confronté au classique -lm? ou -lpthread?  

bah nan [:spamafote]  
je me suis toujours limité au gcc source -o exec ...  
mais ya un début à tout [:dawa]
edit : sisi j'ai déjà vu le -lm un fois :D


Message édité par Profil supprimé le 09-12-2002 à 17:20:59
Reply

Marsh Posté le 09-12-2002 à 17:16:34   

Reply

Marsh Posté le 09-12-2002 à 17:17:48    

un 'l' comme dans link/load


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 09-12-2002 à 17:19:57    

Taz@PPC a écrit :

un 'l' comme dans link/load  

juste paskeu /usr/libexec/elf/ld: cannot find -lX11    :whistle:

Reply

Marsh Posté le 09-12-2002 à 17:21:09    

tu as fait un slocate pour voir?


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 09-12-2002 à 17:23:58    

Taz@PPC a écrit :

tu as fait un slocate pour voir?  

locate oui  
slocate non  
 
ca compile bien quand je ne mets pas de fonction du xlib ...  
 
mais j'avoue que je suis vraiment largué là ...  [:sirjeannot]

Reply

Marsh Posté le 09-12-2002 à 17:33:04    

et ca donne quoi? le locate/slocate (c'est la meme chose)? le tout c'est de trouver la library dynamique


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 09-12-2002 à 17:34:26    

SirJeannot a écrit :

$ locate Xlib.h  
/usr/X11R6/include/X11/PEX5/PEXlib.h  
/usr/X11R6/include/X11/Xlib.h  

Reply

Marsh Posté le 09-12-2002 à 17:37:53    

spa les .h (c'est juste des entetes, pas du code) qui nous interessent. cherche les .so / .a


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 09-12-2002 à 17:45:19    

Taz@PPC a écrit :

spa les .h (c'est juste des entetes, pas du code) qui nous interessent. cherche les .so / .a  

uh?  :heink:

Reply

Marsh Posté le 09-12-2002 à 17:57:38    

ben fait slocate X11.so


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 09-12-2002 à 19:54:17    

/usr/X11R6/lib/libX11.so                                  
/usr/X11R6/lib/libX11.so.6                                
/usr/compat/linux/usr/X11R6/lib/libX11.so.6              
/usr/compat/linux/usr/X11R6/lib/libX11.so.6.1            
/usr/compat/linux/usr/i486-linux-libc5/lib/libX11.so.6    
/usr/compat/linux/usr/i486-linux-libc5/lib/libX11.so.6.1

Reply

Marsh Posté le 09-12-2002 à 19:57:46    

ben fait force pure
 
 
gcc -o dawa objet1.o objet2.o ... objetn.o /usr/X11R6/lib/libX11.so


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 09-12-2002 à 20:04:14    

Taz@PPC a écrit :

ben fait force pure
 
 
gcc -o dawa objet1.o objet2.o ... objetn.o /usr/X11R6/lib/libX11.so

ca correspond à quoi les .so?  :??:

Reply

Marsh Posté le 09-12-2002 à 20:16:55    

de bibliotheques liées dynamiquement et partagée entre different programme


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le 30-12-2002 à 11:52:32    

bon, j'ai changé d'envirronement
 
je fais un
gcc pouet.c -lX11 -o pouet.out
ca me sort
/usr/bin/ld: cannot find -lX11  :o
 
et sans -lx11, ca me fait les mêmes erreurs qu'avant
/tmp/cc00ZF3T.o(.text+0x30): undefined reference to XOpenDisplay
... et une ligne comme ca pour chaque fonction de xlib que j'utilise ...
 
dans le doute, j'ai pris un programme d'exemple simple de xlib sur un site quelconque, et c'est pareil
je me plante surement qq part, mais où? [:meganne]

Reply

Marsh Posté le 30-12-2002 à 11:56:45    

locate libX11

Reply

Marsh Posté le 30-12-2002 à 11:59:21    

/usr/X11R6/lib/libX11.so.6.2
/usr/X11R6/lib/libX11.so.6
/usr/X11R6/lib/libX11.a
/usr/X11R6/lib/libX11.so
 
[:meganne]

Reply

Marsh Posté le 30-12-2002 à 12:01:01    

SirJeannot a écrit :

/usr/X11R6/lib/libX11.so.6.2
/usr/X11R6/lib/libX11.so.6
/usr/X11R6/lib/libX11.a
/usr/X11R6/lib/libX11.so
 
[:meganne]


bon, ca c'est déja ok.
ldconfig -v | grep X11

Reply

Marsh Posté le 30-12-2002 à 12:09:34    

lorill a écrit :


bon, ca c'est déja ok.
ldconfig -v | grep X11  

:heink:  
 
ldconfig: Can't stat: no such file or dir
/usr/X11R6/lib:
        libX11.so.6 -> libX11.so.6.2
 

Reply

Marsh Posté le 30-12-2002 à 12:23:02    

cai bon, j'ai trouvé [:dawa]
 
fallait ajouter -L/usr/X11R6/lib -lX11
 
merci pour votre aide  :jap:

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed