Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2635 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Erreur Code:Blocks : ' cannot find ... '

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Erreur Code:Blocks : ' cannot find ... '

n°2272094
yazes
Posté le 21-12-2015 à 16:55:36  profilanswer
 

Bonjour
 
Souhaitant développer sous Code:Blocks, je rencontre un soucis quand je compile mon code : " c:/program files (x86)/codeblocks/mingw/bin/../lib/gcc/mingw32/4.7.1/../../../../mingw32/bin/ld.exe: cannot find -lglib-2.0 "  
J'obtiens plusieurs fois cette erreur, la .lib changeant de nom à chaque ligne.  
 
J'ai parcouru le forum, mais malgré la ressemblance de certaines réponses, je n'ai pas réussi à résoudre mon problème.
Ceci est mon premier sujet sur Hardware.fr, en espérant le posté correctement  :)  
 
Merci d'avance !  
 
:)
 

mood
Publicité
Posté le 21-12-2015 à 16:55:36  profilanswer
 

n°2272144
SquiZZ
Posté le 22-12-2015 à 11:47:42  profilanswer
 

Il y a parfois des problèmes quand il y a des espaces dans le nom des répertoires, essaie d'installer Codeblocks directement dans C:

n°2272214
caps lock
Posté le 23-12-2015 à 18:48:57  profilanswer
 

Cela ressemble pas mal à un problème d'import de glib.h

n°2272229
olivthill
Posté le 24-12-2015 à 13:49:51  profilanswer
 

Pour résoudre les problèmes, un examen attentif des messages d'erreur est toujours très intéressant.
 

yazes a écrit :

quand je compile mon code : " c:/program files (x86)/codeblocks/mingw/bin/../lib/gcc/mingw32/4.7.1/../../../../mingw32/bin/ld.exe: cannot find -lglib-2.0 "  
J'obtiens plusieurs fois cette erreur, la .lib changeant de nom à chaque ligne.


Ici, vous lisez ld.exe qui est l'éditeur de liens. Donc le problème se situe dans la phase terminale de la création de l'exécutable, après la transformation des fichiers .c et .h en fichiers objets (donc si jamais vous utilisez glib.h, alors ça s'est bien passé, puisque vous ne nous montrez aucun message avant celui concernant ld.exe).
 
Vous lisez "-lglib-2.0". Le début "-l" est une option du makefile disant d'utiliser la bibliothèque (librairy en anglais) dont le nom est indiqué après. Ce nom n'est pas facile à connaître, surtout pour les débutants. Les vrais vieux savent qu'autrefois la ligne de commande était très courte, et que pour gagner des octets, les noms des bibliothèques n'étaient pas notés en entier. D'abord, on enlevait les 3 première lettres, parce que par convention, c'était toujours "lib".
 
Ensuite, l'extension n'était pas toujours indiquée (je ne sais pas pourquoi vous parlez de ".lib", les bibliothèques ne se terminent pas toujours pas ".lib", c'est dommage que vous n'ayez pas copié ici plus de messages d'erreur parce que c'est peut-être dans ces messages que vous auriez lu ".lib" bien que j'aie des doutes). Ici, le nom réel de la bibliothèque manquante est donc libglib-2.0.lib ou libglib-2.0.a ou autre chose d'approchant.
 
Sur mon PC, je vois que j'ai libglib-2.0-0.dll dans le dossier \Program Files\LMMS. Chez moi, le nom est donc différent puisqu'il a un suffixe "-0" et une extension ".dll". Je n'ai aucun autre fichier *glib*.* quelque chose sur mon PC bien que j'utilise mingw sans problème depuis des années. L'extension ".dll" que j'ai chez moi, montre que c'est une bibliothèque dynamique, donc qui n'a pas besoin, et ne doit pas, être liée lors de la création de l'exécutable.
 
Finalement la question qui se pose est de savoir pourquoi vous avez ce "-lglib-2.0" dans votre fichier makefile.
D'où vient ce makefile ?
Il peut soit, être créé par Code:Blocks en fonction du type de fichier exécutable que vous désirez (et il est possible que vous vous soyez trompé à ce niveau), soit être créé indépendamment par vous (ou par quelqu'unn d'autre, mais que vous avez repris pour l'occasion).


Message édité par olivthill le 24-12-2015 à 13:53:01

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Erreur Code:Blocks : ' cannot find ... '

 

Sujets relatifs
erreur soap InvalidSecurityAn error occurred when verifying securityune erreur l'array , hash-tableau
[SQLPlus] Erreur SP2-0027, requêtre trop longue? Comment s'en prémunirCode VBA trop lent
Souci de conversion de code 2007 vers 2013Erreur de compilation, incompatibilité de type
ERREUR SEGMENTATION CORE DUMPEDExcel : Code macro pour aller chercher les données d'un autre fichier
[ASP] Terniner une page avec un code retour précisCode complexe c++
Plus de sujets relatifs à : Erreur Code:Blocks : ' cannot find ... '


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR