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 :

[POO] problèmes de compilation


Sujet :

C++

  1. #21
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    Bien sur...

    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    #include "cfp.h"
    #include "choc.h"
     
    CFP::CFP(Choc & c, std::string nom_cfp)
    : m_choc(c), nom_composant(nom_cfp), camera(c, nom_cfp)
    {
    	std::cout << "Creation d'un objet CFP :"<< nom_composant << std::endl;
     
    	setImageVisible();
    }
     
    virtual CFP::~CFP()
    {
    	std::cout << "CFP détruit :" << nom_composant << std::endl;
    }
     
    Choc      & CFP::getChoc()  const    {return m_choc; }
     
    //----------------------------------------------------------------
    void CFP::setImageVisible()
    {
    	cimg_library::CImg <unsigned short> visible (nom_composant.c_str() );
    	image_visible = visible;
    }
     
    // Possibilité de le faire manuellement
    void CFP::setImageVisible(cimg_library::CImg <unsigned short> visible)
    {
    	image_visible = visible;
    }
     
    //----------------------------------------------------------------
    int CFP::getChocNum() const {return (getChoc().getNumeroChoc() ); }
     
    std::string CFP::getNomComposant() const {return nom_composant;}
     
    cimg_library::CImg <unsigned short> CFP::getImageVisible() const {return image_visible;}
     
    cimg_library::CImg <unsigned short> CFP::getImageIR_full() const {return image_IR_full;}
     
    cimg_library::CImg <unsigned short> CFP::getImageIR_ref() const {return image_IR_ref;}
     
    cimg_library::CImg <unsigned short> CFP::getImageIR_warped() const {return image_IR_warped;}
     
    //----------------------------------------------------------------
     
    void CFP::afficherMix ()
    {
    	//.....
    }
    void CFP::ajusterVisibleEtIRFull()
    {
    	float coeff1 = static_cast<float>(LARGEUR_ECRAN) /static_cast<float>(image_IR_full.dimx());
    	float coeff2 = static_cast<float>(HAUTEUR_ECRAN) /static_cast<float>(image_IR_full.dimy());
     
    	if (coeff1 > coeff2)
    	{
    		coeff_mul = coeff1;
    	}
    	else coeff_mul = coeff2;
     
        image_IR_full.resize(static_cast<int>(-100*coeff_mul), static_cast<int>(-100*coeff_mul), 1, 3, 1);
     
        image_visible_full.resize(image_IR_full.dimx(), image_IR_full.dimy(), 1, 3, 1);
    }
     
    void CFP::lancerWarping()
    {
    	Warping warping(getChocNum(), nom_composant, image_visible, image_IR_ref);
    	warping.lancerWarping();
    }
     
    cimg_library::CImg <unsigned short> CFP::importImageIR(int numero_image)
    {
    	return (camera.importImageIR(numero_image) );
    }

  2. #22
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Tu as oublié d'inlclure Choc.h dans Camera.cpp

    Ensuite, virtual seulement pour la déclaration, pas pour la définition.

  3. #23
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Arf, grilled par Laurent ^^

  4. #24
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    Merci à vous deux!!!!

    Édition des liens en cours...
    LINK : error LNK2020: jeton non résolu (0A000049) Antenne.__dtor
    LINK : error LNK2020: jeton non résolu (0A000119) LPT.__dtor
    LINK : fatal error LNK1120: 2 externes non résolus
    Mais il reste un problème !

    C'est quoi ça? Pourquoi plante t-il à l'édition des liens?

  5. #25
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Alors là, ça dépasse mes capacités

    En faisant de la divination, je dirais qu'il y a un problème avec les destructeurs (dtor), mais ce n'est qu'une hypothèse

    Edit : une question (peut-être bête) : tu as déclaré et défini les destructeurs de tes classes Antenne et LPT ?

  6. #26
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    Citation Envoyé par Eusebe
    Alors là, ça dépasse mes capacités

    En faisant de la divination, je dirais qu'il y a un problème avec les destructeurs (dtor), mais ce n'est qu'une hypothèse
    La divination est à la mode en ce moment...
    Je vois pas trop non plus ce que c'est...

    Merci en tous cas pour ton aide Eusebe!

  7. #27
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    Je viens de tenter un truc: enlever les extensions managées...
    Et là j'ai toujours deux erreurs, mais mieux "expliquées"...
    Ca donne ça:
    Édition des liens en cours...
    antenne.obj : error LNK2019: symbole externe non résolu "public: virtual __thiscall Antenne::~Antenne(void)" (??1Antenne@@UAE@XZ) référencé dans la fonction "public: virtual void * __thiscall Antenne::`scalar deleting destructor'(unsigned int)" (??_GAntenne@@UAEPAXI@Z)
    lpt.obj : error LNK2019: symbole externe non résolu "public: virtual __thiscall LPT::~LPT(void)" (??1LPT@@UAE@XZ) référencé dans la fonction "public: virtual void * __thiscall LPT::`scalar deleting destructor'(unsigned int)" (??_GLPT@@UAEPAXI@Z)
    C:\Documents and Settings\GD280706\Bureau\Analyse v1.1\Analyse\Debug\Analyse.exe : fatal error LNK1120: 2 externes non résolus
    encore au niveau du virtuel !

  8. #28
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Citation Envoyé par Eusebe
    Edit : une question (peut-être bête) : tu as déclaré et défini les destructeurs de tes classes Antenne et LPT ?
    Eventuellement, mets les parties des fichiers .h et .cpp qui contiennent tes destructeurs...

  9. #29
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    antenne.h:
    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
    #ifndef ANTENNE_H
    #define ANTENNE_H
     
    #include "CImg.h"
    #include <iostream>
    #include <string>
    #include <cmath>
     
     
    #include "cfp.h"
     
     
    class Antenne : public CFP
    {
    public:
    	Antenne(Choc & c, std::string nom_cfp);
    	virtual ~Antenne();
     
    	void setImageReferenceIR(cimg_library::CImg <unsigned short>);
    	void setImageReferenceIR();
    };
     
    #endif
    antenne.cpp:
    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
    #include "antenne.h"
     
    Antenne::Antenne( Choc &c, std::string nom_cfp)
    :CFP(c, nom_cfp)
    {
    	std::cout << "Creation d'une antenne :" << nom_cfp << std::endl;
     
        setImageReferenceIR();
    }
     
    void Antenne::setImageReferenceIR()
    {
    	int num_choc = getChocNum();
    	int num_cam = camera.getNumeroCamera();
    	int nbimages;
    	int cr = IRnb_images(num_choc, num_cam, &nbimages);
     
    	image_IR_ref = importImageIR(static_cast<int> (floor(nbimages*0.5) ) );
    }
     
    void Antenne::setImageReferenceIR(cimg_library::CImg <unsigned short> image_ref)
    {
    	image_IR_ref = image_ref;
    }

  10. #30
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    C'est ce que suspectais

    Tu déclares le destructeur, mais tu ne le définis pas !

  11. #31
    Membre Expert
    Avatar de poukill
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 155
    Par défaut
    Le nul...
    Il est grand temps que je finisse ce projet...

    Merci Eusebe!

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. problème de compilation sous visual C++
    Par fabmili dans le forum MFC
    Réponses: 4
    Dernier message: 08/02/2004, 19h52
  2. problème de compil devc++ socket
    Par stefdem dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 11/12/2003, 11h33
  3. Réponses: 1
    Dernier message: 29/10/2003, 12h16
  4. Problème de compilation de la DLL du XMLRad
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 2
    Dernier message: 16/04/2003, 16h46
  5. Réponses: 1
    Dernier message: 27/05/2002, 01h44

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