Undefined reference to '...' sous codeblocks
lyne690
-
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai un projet à faire avec la console WII et dès le démarrage ça bloque! J'utilise la bilbiothèque wiiuse téléchargée sur le site suivant : http://ww1.wiiuse.net/?nav=api#winbt
J'ai bien linker wiiuse à mon projet, j'ai bien sélectionné le debug et release mais ça ne fonctionne toujours pas et ça m'affiche ce message d'erreur :
undefined reference to '_imp__wiiuse_init'
=== Build finished: 1 errors, 0 warnings ===
Voici mon code sous code blocks
#include <stdio.h>
#include <stdlib.h>
#include "wiiuse.h"
#define MAX_WIIMOTES 1
int main()
{
wiimote** wiimotes;
wiimotes = wiiuse_init(MAX_WIIMOTES);
return 0;
}
Il n'y a pas plus simple comme code mais ça ne marche pas :'( S'il vous plaît aidez moi. Merci d'avance
J'ai un projet à faire avec la console WII et dès le démarrage ça bloque! J'utilise la bilbiothèque wiiuse téléchargée sur le site suivant : http://ww1.wiiuse.net/?nav=api#winbt
J'ai bien linker wiiuse à mon projet, j'ai bien sélectionné le debug et release mais ça ne fonctionne toujours pas et ça m'affiche ce message d'erreur :
undefined reference to '_imp__wiiuse_init'
=== Build finished: 1 errors, 0 warnings ===
Voici mon code sous code blocks
#include <stdio.h>
#include <stdlib.h>
#include "wiiuse.h"
#define MAX_WIIMOTES 1
int main()
{
wiimote** wiimotes;
wiimotes = wiiuse_init(MAX_WIIMOTES);
return 0;
}
Il n'y a pas plus simple comme code mais ça ne marche pas :'( S'il vous plaît aidez moi. Merci d'avance
A voir également:
- Undefined reference to '...' sous codeblocks
- Codeblocks - Télécharger - Langages
- Qwerty to azerty - Guide
- Crdownload to mp4 - Forum Téléchargement
- Mb to mo - Forum Matériel & Système
- Reboot to bootloader - Guide
6 réponses
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
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
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.
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
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.
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 ?