Erreurs de compilation-liaison

De µRV - La réalité virtuelle au département informatique
Aller à : navigation, rechercher

De nombreuses erreurs de compilation reviennent très souvent en C++. Cette page à pour but de faire gagner du temps en rassemblant les causes fréquentes de ces erreurs.

Erreurs de compilation

Problèmes de syntaxe

Pensez à regarder la ligne d'avant, voir le fichier d'inclusion nécessaire si vous ne trouvez pas d'erreurs sur la ligne courante.

error C1083: Cannot open include file: 'OGRE/Ogre.h': No such file or directory

Il manque un dossier d'includes (paramètres I des compilateurs) pour le fichier.

Ici la subtilité est qu'il ne faut inclure le dossier %OGRE_HOME%/include/OGRE mais son dossier parent %OGRE_HOME%/include.

Erreurs de liaison

error LNK1104: cannot open file 'OIS_d.lib'

Aucune lib de ce nom n'a été trouvée dans le chemin pour les lib (LIBPATH pour MVSC).

Solution :

  • Ajoutez le dossier contenant le dossier
  • Mettez le chemin absolue de la lib

error LNK2001: unresolved external symbol

  • Fonction déclarée mais pas définit
  • Les fichiers cpp contenant les définitions sont manquants
  • La lib contenant les définitions est manquante
  • Attribut static non initialisé
  • Dépendances circulaires (Ahahahahahah... bonne chance >_<)