IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Undefined reference to :


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre habitu�
    Homme Profil pro
    �tudiant
    Inscrit en
    Octobre 2016
    Messages
    10
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 31
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 10
    Par d�faut Undefined reference to :
    Bonjour, je travaille actuellement sur CodeBlocks, j'essaie de spliter un code que j'avais d�j� cr�er auparavant.
    J'ai pour cela plusieurs classes, et j'ai instanci� l'une d'entre elles pour acc�der a une de ses m�thodes.
    Cependant, lors du build du programme, le logiciel me retourne une erreur que je n'arrive pas � r�soudre :

    Nom : Screenshot from 2016-10-12 17-05-43.png
Affichages : 145
Taille : 3,5 Ko

    Voici le code :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    #include <iostream>
    #include <math.h>
    #include <vector>
    #include <fstream>
    #include "Methods.h"
    #include <Calculateur.h>
     
    using namespace std;
     
    int main()
    {
        int numberP;
        double Delta_X;
        int time;
        double BC1;
        double BC2;
        int i;
        Methods M;
        Calculateur C;
     
     
        cout << "Give the number of points you want ? "<< "\n";
        cin >> numberP;
        cout << "Choisissez le temps : " << "\n";
        cin >> time;
        cout << "Choisissez le Delta_X : " << " \n";
        cin >> Delta_X;
        cout << "Give boundary conditions : " << "\n";
        cout << "left hand side : ";
        cin >> BC1;
        cout << "Right hand side : ";
        cin >> BC2;
     
        C.sign(-4.5);
     
        for (i =0 ; i<numberP; i++)
        {
           cout << M.ExplicitUpwind(BC1,BC2,numberP,Delta_X,time)[i] <<"\n";
        }
     
        return 0;
    }
    Merci d'avance !

  2. #2
    Membre Expert
    Inscrit en
    Mars 2005
    Messages
    1 431
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Par d�faut
    L'�diteur de lien n'a pas trouv� l'impl�mentation de la m�thode sp�cifi�e. Le fichier .cpp qui contient cette d�finition n'a probablement pas �t� inclus au sein du projet.


    Copie-colle les messages texte comme du texte, ne fais pas de captures d'�cran :

    • c'est plus rapide pour toi ;
    • �a permet l'indexation du message en vue d'une recherche sur le forum ;
    • �a bouffe moins de cycles CPU, moins de bande passante et donc moins d'�nergie.

  3. #3
    Membre habitu�
    Homme Profil pro
    �tudiant
    Inscrit en
    Octobre 2016
    Messages
    10
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 31
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 10
    Par d�faut
    Merci pour les conseils .
    Cependant, j'avais cr�er ces classes au sein m�me de mon projet, je les ai tout de m�me de nouveau ajout�es, et le r�sultat est toujours le m�me. Il n'arrive pas a me faire le lien avec la classe...

  4. #4
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 505
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 505
    Par d�faut
    La d�claration et l'impl�mentation de la m�thode qui pose probl�me, SVP.

  5. #5
    Expert �minent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activit� : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par d�faut
    Salut,

    Comme Mat_Houston l'a si bien dit, c'est une erreur qui survient parce que l'�diteur de liens ne trouve pas l'impl�mentation (il aurait pu parler du code binaire ex�cutable) correspondant � la fonction recherch�e.

    Cela nous permet d�j� de tirer quelques conclusions :
    1. Comme le compilateur n'a pas r�l� lors de la compilation, c'est qu'il connaissait la fonction avec tous les param�tres qu'elle requi�re.
    2. --> la d�claration de cette fonction (au niveau du fichier .h / .hpp) est donc correcte
    3. comme c'est l'�diteur de liens qui r�le, c'est que, pour une raison � d�terminer, le compilateur n'a pas g�n�r� le code binaire ex�cutable pour cette fonction.

    1. Il y a plusieurs situations dans lesquelles cela peut arriver :
    2. tu as oubli� de d�finir le code de cette fonction au niveau d'une unit� de compilation (dans un *.cpp)
    3. l'unit� de compilation (le fichier .cpp) qui contient l'impl�mentation n'a pas �t� compil� (peut �tre parce qu'il n'a pas �t� correctement ajout� au projet)
    4. la fonction est une fonction template et tu as plac� l'impl�mentation de cette fonction dans une unit� de compilation (fichier *.cpp), alors que le compilateur en a besoin chaque fois qu'il arrive � d�terminer le type de tous les param�tres template

    Etant donn� que tu es sous Code::Blocks, je pencherais volontiers pour la deuxi�me solution dans le cas pr�sent, car c'est effectivement un probl�me relativement r�current avec ceux qui d�butent en utilisant cet EDI.

    Le fait est que Code::Blocks n'ajoute pas forc�ment les fichiers que tu cr�es de mani�re automatique, et qu'il y a souvent une �tape � laquelle il te demande si tu veux ajouter le fichier que tu cr�e au projet ou non. Pour notre malheur, cette �tape consid�re que la "bonne r�ponse par d�faut" est... non, alors que l'on aurait sans doute pr�f�r� que ce soit "oui".

    Tu dois donc aller voir dans les propri�t�s du projet et t'assurer que tous les fichiers qui en font partie sont bel et bien pris en compte. Une fois cette �tape franchie, tu devrait arriver � compiler ton projet sans aucun probl�me
    A m�diter: La solution la plus simple est toujours la moins compliqu�e
    Ce qui se con�oit bien s'�nonce clairement, et les mots pour le dire vous viennent ais�ment. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 f�vrier 2014
    mon tout nouveau blog

  6. #6
    Membre Expert
    Inscrit en
    Mars 2005
    Messages
    1 431
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Par d�faut
    Alternativement si la m�thode est qualifi�e inline (c'est la mention des contraintes sur les templates par koala01 qui m'y fait penser), il convient de placer sa d�finition dans l'en-t�te.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Probl�me de classe
    Par DeusXL dans le forum DirectX
    R�ponses: 15
    Dernier message: 04/12/2005, 14h37
  2. Probl�me de classe
    Par tidou dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 6
    Dernier message: 14/10/2005, 17h49
  3. [FLASH MX2004] Probl�me de classe
    Par JulPoWeR dans le forum Flash
    R�ponses: 1
    Dernier message: 10/07/2005, 22h51
  4. [ERREUR] Ne retrouve pas la classe main
    Par Anathema dans le forum Eclipse Java
    R�ponses: 3
    Dernier message: 06/07/2005, 16h16
  5. [template et linker]probl�me dans le main
    Par Andu dans le forum C++
    R�ponses: 19
    Dernier message: 27/06/2005, 17h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo