Undefined reference to '...' sous codeblocks
Fermé
lyne690
-
16 déc. 2009 à 23:26
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 17 déc. 2009 à 09:46
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 17 déc. 2009 à 09:46
A voir également:
- Undefined reference to '...' sous codeblocks
- Reference pto - Accueil - Box & Connexion Internet
- Qwerty to azerty - Guide
- Codeblocks avec compilateur - Télécharger - Langages
- Press esc in 1 seconds to skip startup.nsh any other key to continue ✓ - Forum Windows 10
- Welcome to nginx! ✓ - Forum Applis & Sites
6 réponses
mamiemando
Messages postés
33401
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
28 novembre 2024
7 804
16 déc. 2009 à 23:32
16 déc. 2009 à 23:32
Ben tu as dû oublier de linker dans ton projet avec la librairie en question, non ?
Bonne chance
Bonne chance
lyne690
Messages postés
2
Date d'inscription
mercredi 16 décembre 2009
Statut
Membre
Dernière intervention
17 décembre 2009
16 déc. 2009 à 23:43
16 déc. 2009 à 23:43
Oui je m'en suis rendu compte une fois le message envoyé, merci quand même.
J'ai une nouvelle erreur tu peux peut-être m'aider lol maintenant il m'affiche :
File Line Message
ld.exe cannot find -lwiiuse.lib
Dans mes fichiers je n'ai aucune librairie de ce nom, je ne comprends d'où ça sort... merci
J'ai une nouvelle erreur tu peux peut-être m'aider lol maintenant il m'affiche :
File Line Message
ld.exe cannot find -lwiiuse.lib
Dans mes fichiers je n'ai aucune librairie de ce nom, je ne comprends d'où ça sort... merci
mamiemando
Messages postés
33401
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
28 novembre 2024
7 804
16 déc. 2009 à 23:48
16 déc. 2009 à 23:48
Bah moi la compilation sous windows c'est pas trop mon truc mais dans gcc, l'option -l attend des librairies dynamtiques (.so sous linux, .dll sous windows). Par exemple pour linker avec /usr/lib/libm.so sous linux on passe l'option -lm.
Une librairie statique (.a sous linux et j'imagine .lib sous windows ?) est passée au même titre que les ".o" finaux, lors de la compilation de l'exécutable final.
En l'occurrence j'ai l'impression que tu passes une librairie statique à ton compilateur comme une librairie dynamique. Si sous linux j'aurais pu être catégorique, comme je ne connais pas les conventions windows, je ne peux pas trop te dire si tu fais fausse route ou pas.
Bonne chance
Une librairie statique (.a sous linux et j'imagine .lib sous windows ?) est passée au même titre que les ".o" finaux, lors de la compilation de l'exécutable final.
En l'occurrence j'ai l'impression que tu passes une librairie statique à ton compilateur comme une librairie dynamique. Si sous linux j'aurais pu être catégorique, comme je ne connais pas les conventions windows, je ne peux pas trop te dire si tu fais fausse route ou pas.
Bonne chance
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
17 déc. 2009 à 09:42
17 déc. 2009 à 09:42
C'est pas tout les jours, mais je peux corrigé Mamiemando. :-p
-l avec gcc sous Linux comme sous Windows sert à lier des bibliothèques dynamique OU statique. (mais il est en effet possible de donner directement le nom de la bibliothèque statique)
Sous windows, les bibliothèques dépendent du compilateur utilisé, avec gcc, c'est comme sous linux libXXX.a les .lib c'est pour le compilo crosoft, je crois qu'on ne peux pas les mélanger.
-l avec gcc sous Linux comme sous Windows sert à lier des bibliothèques dynamique OU statique. (mais il est en effet possible de donner directement le nom de la bibliothèque statique)
Sous windows, les bibliothèques dépendent du compilateur utilisé, avec gcc, c'est comme sous linux libXXX.a les .lib c'est pour le compilo crosoft, je crois qu'on ne peux pas les mélanger.
lyne690
Messages postés
2
Date d'inscription
mercredi 16 décembre 2009
Statut
Membre
Dernière intervention
17 décembre 2009
17 déc. 2009 à 00:40
17 déc. 2009 à 00:40
merci,
en faite cela m'étonne car lorsque j'ajoute la libraire à mon projet, je ne peux ajouter que des librairie statiques (.lib .so etc...) les dll ne sont pas acceptées. Je ne peux donc pas passer une libraire statique à la place d'une dynamique.
en faite cela m'étonne car lorsque j'ajoute la libraire à mon projet, je ne peux ajouter que des librairie statiques (.lib .so etc...) les dll ne sont pas acceptées. Je ne peux donc pas passer une libraire statique à la place d'une dynamique.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mamiemando
Messages postés
33401
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
28 novembre 2024
7 804
17 déc. 2009 à 00:45
17 déc. 2009 à 00:45
Un .so c'est une librairie dynamique (au moins sous linux) et ça se passe à la phase de linkage avec l'option -l.
Un .a c'est un librairie statique et ça se passe au linkage avec les autres librairies et les .o, sans option.
Pour les .dll et les .lib, je suppose que ce sont des équivalents windows mais je ne sais pas trop comment ça s'utilise.
Un .a c'est un librairie statique et ça se passe au linkage avec les autres librairies et les .o, sans option.
Pour les .dll et les .lib, je suppose que ce sont des équivalents windows mais je ne sais pas trop comment ça s'utilise.
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
17 déc. 2009 à 09:46
17 déc. 2009 à 09:46
Petit point sur les DLL.
Si j'ai bien compris, avec gcc sous windows les dll doivent avoir des fichiers associé, un libXXX.a et un .def (moins sur pour le .def). On fourni alors le .a lors de l'édition des liens et il se démerde tout seul (normalement) pour lier dynamiquement avec la bibliothèque.
Attention au compilateur ! Lequel utilises tu ?
Si j'ai bien compris, avec gcc sous windows les dll doivent avoir des fichiers associé, un libXXX.a et un .def (moins sur pour le .def). On fourni alors le .a lors de l'édition des liens et il se démerde tout seul (normalement) pour lier dynamiquement avec la bibliothèque.
Attention au compilateur ! Lequel utilises tu ?