nepser

À propos de nepser

Date de naissance : 07 février

Envoyer un message

Biographie

Mon compilateur me dit undefined reference ...

Cela signifie que le compilateur ne trouve pas la définition de la fonction en question (le code entre les {})

Voici les raisons possibles:
  • Vous vous êtes tout simplement planté dans le nom de la fonction, relisez bien
  • Vous avez mal ajouté le fichier contenant la fonction à votre projet. Essayez de l'enlever puis de le remettre en cochant bien les cases "debug" et "release" pour qu'il soit compilé
  • Vous ne compilez dans le langage qu'il faut: cela arrive lorsque votre fichier porte l'extension .cpp alors que le reste du code est en .c par exemple. Dans ce cas, renommez TOUS vos fichiers .cpp en .c
  • Vous compilez en ligne de commande, donc vous n'avez pas compilé/linké le fichier contenant la fonction, relisez votre ligne de commande/makefile


Si la fonction en question n'est pas de vous, c'est que vous n'avez pas ou mal linké les bibliothèques nécessaires à l'utilisation de la fonction. (pensez à -lm si vous utilisez une fonction mathématique par exemple)

Note: Si vous êtes sous Code::Blocks, faites un click droit sur chaque fichier source, aller dans les propriétés puis dans l'onglet avancé, vérifiez ensuite que la variable compilateur est CC et non pas CPP.
Si vous êtes sous Visual C++, allez aussi dans les propriétés de vos fichiers sources, dans C/C++ avancé, vérifier que vous "compiler en tant que C" et pas C++.

Exemple courant:
undefined reference to `_WinMain@16'
Cette erreur peut arriver lorsque vous avec mal configuré l'installation de la SDL.
Dans les options du linker (Build Options/Linker Settings) vérifiez que vous avez mis dans link libraries:
mingw32
SDLmain
SDL
OU dans other link options
-lmingw32
-lSDLmain
-lSDL


J'ai des centaines de fois "unhandled value ..."


Cela signifie que vous ne gérez pas tous les cas possibles dans un switch, il faut donc ajouter un default à la fin de votre switch.

Exemple:
switch(event.type)
{
    case SDL_KEYDOWN:
        //...
    break;
    default:  //dans tous les autres cas
        ; //je ne fais rien
}

Information sur le compte

Date d'inscription : 3 février 2007

Dernière connexion : 7 octobre 2015