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++/CLI Discussion :

probleme à l'édition de liens


Sujet :

C++/CLI

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2013
    Messages : 8
    Points : 3
    Points
    3
    Par défaut probleme à l'édition de liens
    Bonjour à tous,

    J'ai le message d'erreur suivant à la compilation de mon code, je developpe dans visual studio 2008:

    1>CProduct.obj : error LNK2001: symbole externe non résolu "public: __thiscall CDate::~CDate(void)" (??1CDate@@QAE@XZ)
    1>CProduct.obj : error LNK2001: symbole externe non résolu "public: __thiscall CDate::CDate(void)" (??0CDate@@QAE@XZ)
    1>D:\Profiles\NGUESSAN\Desktop\Developpement_Modeles_ALM\Debug\DMA_Products.exe : fatal error LNK1120: 2 externes non résolus

    J'ai une classe CProduct qui est définie dans un fichier CProduct.h et qui contient un membre de type CDate qui est une classe.

    CProduct est ensuite implémentée dans CProduct.cpp. Les constructeurs et destructeurs sont spécifiés dans le .cpp

    Pareil pour la classe CDate.

    Mais dès que je déclare dans CProduct.h le membre CDate le message d'erreur apparaît et lorsque je l'efface la compilation s'effectue normalement.

    Quelqu'un aurait-il une idée? Je rappelle que mes constructeurs et destructeurs sont bien présents dans mes .cpp

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 382
    Points : 41 589
    Points
    41 589
    Par défaut
    Peux-tu poster la classe CDate et son .cpp?

    PS: Ça ressemble à un problème de C++ natif, pas de C++/CLI...

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2013
    Messages : 8
    Points : 3
    Points
    3
    Par défaut problème à l'édition de liens
    Ci-dessous les différents fichier .cpp et .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
    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
    ///////////////////////////////////////////////////////////////////
    //
    //  Interface for the CDate class .h
    //
    ////////////////////////////////////////////////////////////////////
     
    #ifndef __CDATE_H__
    #define __CDATE_H__
     
    ////////////////////////////////////////////////////////////////////
     
    #include "TEnumerations.h"
     
    ////////////////////////////////////////////////////////////////////
     
    class CDate
    {
    public:
    	//! Destructor
    	~CDate();
     
    	//! Default constructor
    	CDate();
     
    	//! Constructor
    	CDate(const int& p_lDay, const EMonth& p_eMonth, const long& p_lYear);
    	CDate(const long& p_lIndex, bool p_bExcel=false);
     
    	//!Copy constructor
    	CDate(const CDate& p_dDate);
     
    	CDate add(const EPeriod& p_ePeriod, const long& p_lPeriod, bool p_bForward);
     
    	//!Operators
    	CDate& operator=(const CDate& p_dDate);
     
    	//Accessors
    	int day();
    	EMonth month();
    	long year();
    	long index();
    	long index_();
    	bool isLeap();
     
    protected:
     
    	bool calcindex();
     
    	int		m_lDay;
    	EMonth	m_eMonth;
    	long	m_lYear;
    	long	m_lIndex;
    	long	m_lIndex_;
    	bool	m_bIsLeap;
    	bool	m_bExcel;
    };
    ////////////////////////////////////////////////////////////////////
     
    #endif

    le .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
    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
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    ///////////////////////////////////////////////////////////////////
    //
    //  Implementation of the CDate class .cpp
    //
    ////////////////////////////////////////////////////////////////////
     
    #include "TEnumerations.h"
    #include "CDate.h"
     
    ////////////////////////////////////////////////////////////////////
    int g_oLEAP[]={31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    int g_oNOLEAP[]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    ////////////////////////////////////////////////////////////////////
     
    CDate::~CDate()
    {
    }
    ////////////////////////////////////////////////////////////////////
    CDate::CDate()
    {
    	m_lDay		= 1;
    	m_eMonth	= Jan;
    	m_lYear		= 1900;
    }
    ////////////////////////////////////////////////////////////////////
    bool CDate::calcindex()
    {
    	long l_lDays = 0;
    	long l_lLeap	= (long)((m_lYear - 1900)/4);
    	for(int i = 0; i < (long)m_eMonth-1; i++)
    	{
    		if(m_bIsLeap)
    		{
    			l_lDays += g_oLEAP[i];
    		}
    		else
    		{
    			l_lDays += g_oNOLEAP[i];
    		}
    	}
    	m_lIndex = (m_lYear - 1900)*365 + l_lLeap + (long)l_lDays + (long) m_lDay ;
    	if (!m_bIsLeap)
    	{
    		m_lIndex = m_lIndex + 1;
    	}
    	return true;
    }
    ////////////////////////////////////////////////////////////////////
     
    CDate::CDate(const int& p_lDay, const EMonth& p_eMonth, const long& p_lYear)
    {
     
    	m_lDay		= p_lDay;
    	m_eMonth	= p_eMonth;
    	m_lYear		= p_lYear ;
    	m_bIsLeap	= (p_lYear%4 == 0);
    	m_lIndex_ = m_lYear*10000+(long)m_eMonth*100+m_lDay;
    	if(!calcindex())
    	{
    	}
    }
     
    ////////////////////////////////////////////////////////////////////
    CDate::CDate(const long& p_lIndex, bool p_bExcel)
    {
    	int i=0;
    	long l_lValo;
    	long l_lLeap;
    	long l_lDays = 0;
     
     
    	m_bExcel = p_bExcel;
    	if(p_bExcel)
    	{
    		m_lIndex = p_lIndex;
    		m_lYear = 1900 + (long)(p_lIndex/365);
    		m_bIsLeap = (m_lYear % 4 == 0);
    		l_lLeap = (long)((m_lYear - 1900)/4);
    		if(m_bIsLeap)
    		{
    			l_lValo = m_lIndex - (m_lYear - 1900)*365-l_lLeap;
    		}
    		else
    		{
    			l_lValo = m_lIndex - (m_lYear - 1900)*365-l_lLeap-1;
    		}
    		while(l_lDays < l_lValo)
    		{
    			if(m_bIsLeap)
    			{
    				l_lDays +=  g_oLEAP[i];
    			}
    			else
    			{
    				l_lDays += g_oNOLEAP[i];
    			}
    			i=i+1;
    		}
    		i=i-1;
    		l_lDays = l_lDays - g_oLEAP[i];
    		m_lDay = l_lValo - l_lDays;
    		m_eMonth = (EMonth)(i+1);
    		m_lIndex_ = m_lYear*10000+(long)m_eMonth*100+m_lDay;
    	}
    	else
    	{
    		m_lYear = p_lIndex-((long) p_lIndex/10000)*10000;
    		m_bIsLeap = (m_lYear % 4 == 0);
    		m_lDay  = (long)p_lIndex/1000000;
    		m_eMonth = (EMonth)((p_lIndex  - m_lDay*1000000-m_lYear)/10000);
    		m_lIndex_ = p_lIndex;
    		if(!calcindex())
    		{
    		}
    	}
    }
    ////////////////////////////////////////////////////////////////////
    CDate::CDate(const CDate& p_dDate)
    {
    	m_lDay		= p_dDate.m_lDay ;
    	m_eMonth	= p_dDate.m_eMonth ;
    	m_lYear		= p_dDate.m_lYear ;
    	m_lIndex_	= p_dDate.m_lIndex_ ;
    	m_lIndex	= p_dDate.m_lIndex ;
    	m_bIsLeap	= p_dDate.m_bIsLeap ;
    	m_bExcel	= p_dDate.m_bExcel ;
    }
     
    ////////////////////////////////////////////////////////////////////
     
    CDate CDate::add(const EPeriod &p_ePeriod, const long &p_lPeriod, bool p_bForward)
    {
    	long l_lIndex;
    	long l_lMonth;
    	EMonth l_eMonth;
    	long l_lYear ;
    	switch(p_ePeriod)
    	{
    	case Days:
    		l_lIndex = m_lIndex + (p_bForward ? p_lPeriod : -p_lPeriod);
    		return CDate(l_lIndex);
    		break;
    	case Months:
    		l_lMonth = p_lPeriod%12;
    		l_eMonth =(EMonth) (((long)m_eMonth + 12 + (p_bForward ? l_lMonth : -l_lMonth)) % 12) ;
    		l_lYear = m_lYear + (p_bForward ? (long)(p_lPeriod/12) : -(long)(p_lPeriod/12));
    		return CDate(m_lDay, l_eMonth, l_lYear);
    		break;
    	case Weeks:
    		l_lIndex = m_lIndex + (p_bForward ? 7*p_lPeriod : -7*p_lPeriod);
    		return CDate(l_lIndex);
    		break;
    	case Years:
    		l_lYear = m_lYear + (p_bForward ? p_lPeriod : -p_lPeriod);
    		return CDate(m_lDay, m_eMonth, l_lYear);
    		break;
    	}
    }
    ////////////////////////////////////////////////////////////////////
    int CDate::day()
    {
    	return m_lDay;
    }
    ////////////////////////////////////////////////////////////////////
    EMonth CDate::month()
    {
    	return m_eMonth;
    }
    ////////////////////////////////////////////////////////////////////
    long CDate::year()
    {
    	return m_lYear;
    }
    ////////////////////////////////////////////////////////////////////
    long CDate::index()
    {
    	return m_lIndex;
    }
    ////////////////////////////////////////////////////////////////////
    bool CDate::isLeap()
    {
    	return m_bIsLeap;
    }
     
    ////////////////////////////////////////////////////////////////////
    long CDate::index_()
    {
    	return m_lIndex_;
    }
     
    ////////////////////////////////////////////////////////////////////
    CDate& CDate::operator =(const CDate &p_dDate)
    {
    	m_lDay		= p_dDate.m_lDay ;
    	m_eMonth	= p_dDate.m_eMonth ;
    	m_lYear		= p_dDate.m_lYear ;
    	m_lIndex_	= p_dDate.m_lIndex_ ;
    	m_lIndex	= p_dDate.m_lIndex ;
    	m_bIsLeap	= p_dDate.m_bIsLeap ;
    	m_bExcel	= p_dDate.m_bExcel ;
     
    	return *this;
    }
    pour la classe CProduct

    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
    ///////////////////////////////////////////////////////////////////
    //
    //  Interface for the CProduct class
    //
    ////////////////////////////////////////////////////////////////////
     
    #ifndef __CPRODUCT_H__
    #define __CPRODUCT_H__
     
    ////////////////////////////////////////////////////////////////////
     
    #include "TEnumerations.h"
    #include "TDataStructure.h"
    #include "CDate.h"
     
    ////////////////////////////////////////////////////////////////////
     
    class CProduct
    {
    public:
    	//!Destructor
    	~CProduct();
     
    	//!Default constructor
    	CProduct();
     
    	//! Constructor
    	CProduct(const CDate& p_dTradeDate, const ECurrency& p_eCurrency, const EBalance& p_eBalance, CCustomer* p_pCustomer = NULL);
     
    	//!Copy constructor
    	CProduct(const CProduct& p_oProduct);
     
    	bool compute(const CDate& p_dValoDate, const EValues& p_eValue, double& p_fResult);
    	bool compute(const CDate& p_dValoDate, const TValues& p_eValues, TDoubleArray& p_oResult);
    	bool compute(const TDates& p_oValoDates, const EValues& p_eValue, TDoubleArray& p_oResult);
    	bool compute(const TDates& p_oValoDates, const TValues& p_eValues, TDoubleMatrix& p_oResult);
     
    protected:
    	CDate		m_dTradeDate ;
    	ECurrency	m_eCurrency ;
    	EBalance	m_eBalance ;
    };
    ////////////////////////////////////////////////////////////////////
    #endif
    et pour CProduct .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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    ///////////////////////////////////////////////////////////////////
    //
    //  Implementation of the CProduct class
    //
    ////////////////////////////////////////////////////////////////////
     
    #include "TEnumerations.h"
    #include "CDate.h"
    #include "CCustomer.h"
    #include "CProduct.h"
     
    ////////////////////////////////////////////////////////////////////
    CProduct::~CProduct()
    {
    	/*if(m_pCustomer)
    	{
    		delete m_pCustomer ;
    		m_pCustomer = NULL ;
    	}*/
    }
    ////////////////////////////////////////////////////////////////////
    CProduct::CProduct()
    {
    	//m_pCustomer		= NULL ;
    	//m_dTradeDate	= CDate();
    	m_eCurrency		= EUR ;
    	m_eBalance		= Asset ;
    }
    ////////////////////////////////////////////////////////////////////
    CProduct::CProduct(const CDate& p_dTradeDate, const ECurrency& p_eCurrency, const EBalance& p_eBalance, CCustomer* p_pCustomer)
    {
    	//m_dTradeDate	= p_dTradeDate ;
    	m_eCurrency		= p_eCurrency ;
    	m_eBalance		= p_eBalance ;
    	//m_pCustomer		= p_pCustomer ;
    }
    ////////////////////////////////////////////////////////////////////
    CProduct::CProduct(const CProduct& p_oProduct)
    {
    	//m_dTradeDate	= p_oProduct.m_dTradeDate ;
    	m_eCurrency		= p_oProduct.m_eCurrency ;
    	m_eBalance		= p_oProduct.m_eBalance ;
    	//m_pCustomer		= p_oProduct.m_pCustomer ;
    }

  4. #4
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 27
    Points : 24
    Points
    24
    Par défaut
    question bête, t'as bien ajouté CDate.cpp aux sources de ton projets?
    Sinon, CDate n'est pas implémentée

  5. #5
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 382
    Points : 41 589
    Points
    41 589
    Par défaut


    Sinon, le code a l'air à peu près normal, si ce n'est que tes accesseurs devraient être déclarés const. Je ne vois rien dans ce code qui puisse expliquer l'erreur.

  6. #6
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2013
    Messages : 8
    Points : 3
    Points
    3
    Par défaut probleme a l'edition de liens
    Rajouter cdate.cpp aux sources de mon projet....euh que veux tu dire? J'ai cree le fichier cdate.cpp en l'ajoutant a mon projet clique droit sur le projet->ajouter un nouvel element etc etc...il faut en plus rajouter cdate.cpp quelque part d'autres?

  7. #7
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2013
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Je precise a toutes fins utiles que cdate(.h;.cpp) ne sont pas dans le meme projet que cproduct(.h;.cpp) mais j'ai inclus les deux dossiers dans les fichiers include de visual.

  8. #8
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2013
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Merci de votre retour. Peut etre un element important les fichiers cdate et cproduct ne sont pas dans le meme projet. Pour pouvoir utiliser cdate g inclus les dossiers dans les dossiers include de visual. Ca ne suffit peut etre pas?

  9. #9
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Points : 2 605
    Points
    2 605
    Par défaut
    Bonjour.

    On peut voir l'arborescence de la solution ?

    Sinon les fichiers .cpp doivent se trouver dans le répertoire "Fichiers sources" de la solution, même s'ils sont dans un autre répertoire sur le disque.

  10. #10
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2013
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Ci-joint l'arborescence de la solution.
    J'ai rajouté les differents dossiers des projets dans les fichiers source de la solution mais j'ai toujours la même erreur

    Merci d'avance de votre aide
    Images attachées Images attachées  

  11. #11
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Points : 2 605
    Points
    2 605
    Par défaut
    Bonjour.

    CDate.cpp ne se trouve pas dans le même projet que CProduct.cpp. C'est la raison pour laquelle il y des symboles externes non résolus.

    Soit joindre CDate.cpp avec CProduct.cpp, soit faire un projet de type librairie statique.

    Si le projet avec CDate.cpp est de type librairie statique, alors dans le projet avec CProduct.cpp, il faut linker la librairie. Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #pragma comment(lib, "DMA_Tools.lib")
    Sinon autre méthode avec les propriétés du projet :
    Images attachées Images attachées  

  12. #12
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2013
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Merci pour votre retour. Ma preference irait vers les propriétés du projet car je trouve pas celà hyper sexy de mettre des #include "xxx.cpp" dans des fichiers .cpp

    Par contre je dois aux deux endroits entrer l'adresse du reprtoire du projet où se trouve CDate c'est bien celà?

  13. #13
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2013
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Je n'ai plus l'erreur en question par contre maintenant j'ai ceci à la compilation:
    4>LINK : fatal error LNK1104: impossible d'ouvrir le fichier 'D:\Profiles\NGUESSAN\Desktop\Developpement_Modeles_ALM\DMA_Tools.obj'

  14. #14
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Points : 2 605
    Points
    2 605
    Par défaut
    Citation Envoyé par nguessan81 Voir le message
    Je n'ai plus l'erreur en question par contre maintenant j'ai ceci à la compilation:
    4>LINK : fatal error LNK1104: impossible d'ouvrir le fichier 'D:\Profiles\NGUESSAN\Desktop\Developpement_Modeles_ALM\DMA_Tools.obj'
    Il faut ajouter le répertoire 'D:\Profiles\NGUESSAN\Desktop\Developpement_Modeles_ALM\' dans les options du projet (édition de lien : voir le jpg de mon message précédent).

    Sinon vérifier que le fichier DMA_Tools.obj existe bien et au bon endroit.

  15. #15
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Points : 2 605
    Points
    2 605
    Par défaut
    Citation Envoyé par nguessan81 Voir le message
    Merci pour votre retour. Ma preference irait vers les propriétés du projet car je trouve pas celà hyper sexy de mettre des #include "xxx.cpp" dans des fichiers .cpp
    Je n'ai pas dit de faire des #include de fichiers .cpp. J'ai dit, soit de mettre les fichiers .cpp dans le même projet, soit de linker une librairie statique.

    C'est comme linker un fichier .obj. On peut le faire, mais si votre projet se retrouve avec une centaine de fichier .obj à linker, cela va prendre beaucoup de temps inutile. Une librairie pourra contenir des centaines de fichier .obj, donc une seule ligne à écrire (#pragma), ou une seule fois à le mettre dans les propriétés du projet.

Discussions similaires

  1. Probleme d'édition des liens
    Par vjbda dans le forum Visual C++
    Réponses: 7
    Dernier message: 03/04/2008, 00h10
  2. Réponses: 2
    Dernier message: 11/08/2007, 12h29
  3. [Dev-C++] Problème d'édition des liens
    Par shura dans le forum EDI
    Réponses: 5
    Dernier message: 30/08/2005, 10h35
  4. Problème de résolution de lien sous MDK
    Par viddak dans le forum Linux
    Réponses: 2
    Dernier message: 25/03/2004, 20h51
  5. Problème à l'édition des liens avec BCC55 et Xerces
    Par ShootDX dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 30/11/2003, 15h50

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