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

Visual C++ Discussion :

Erreur de LINK --> LNK2001 unresolved external symbol "private: static char *


Sujet :

Visual C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2015
    Messages
    79
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 30
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2015
    Messages : 79
    Par d�faut Erreur de LINK --> LNK2001 unresolved external symbol "private: static char *
    Bonjour bonjour,

    Mise en situation

    Je suis en cour de r�alisation d'un programme de teste pour test� une DLL. J'ai bien associ� ma DLL � mon nouveau project ect....

    Apr�s avoir utilis� __declspec(dllexport) pour plusieurs fonction de ma DLL supert simple, maintenant j'utilise exactement la m�me chose que pour mes fonction simple mais je me retrouve avec des erreurs de LINK.

    Bref je doit pas �tre tr�s claire ^^

    Voila du code sa parlera plus parlant:

    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
     
    #if !defined(AFX_TIERSDECONFIANCEAUTO_H__FF643D08_6704_41F2_B548_D1DA1319CEC8__INCLUDED_)
    #define AFX_TIERSDECONFIANCEAUTO_H__FF643D08_6704_41F2_B548_D1DA1319CEC8__INCLUDED_
     
    #include "SessionTab.h"	// Added by ClassView
    #include "Log.h"
     
     
    #if _MSC_VER > 1000
    	#pragma once
    #endif // _MSC_VER > 1000
     
    #define TiersdeConfianceAuto_API __declspec(dllexport) 
     
    class CTiersdeConfianceAuto : public CCmdTarget
    {
    	DECLARE_DYNCREATE(CTiersdeConfianceAuto)
     
    	CTiersdeConfianceAuto(); // protected constructor used by dynamic creation
     
    private:
    	static char* m_tdt_url;   //ICI
    	static CLog* m_logger;   //ICI
    	char* m_certificate_path;
    	char* m_repository_path;
    	char* m_tdt_passphrase;
    	int isinit;
     
    	int init();
    	static int sslconnect(char* page, struct curl_httppost* post, char** retour);  //ICI
     
    public:
    	static char* m_tdt_trigramme;    //ICI
    	bool readConfigFile(char* file_name, char** out);
    	static CSessionTab m_session_tab;    //ICI
     
    	virtual void OnFinalRelease();
     
    protected:
    	virtual ~CTiersdeConfianceAuto();
     
    	DECLARE_MESSAGE_MAP()
    	DECLARE_OLECREATE(CTiersdeConfianceAuto)
     
    	CString m_dbuser;
    	afx_msg void OnDbuserChanged();
     
    	CString m_database;
    	afx_msg void OnDatabaseChanged();
     
    	CString m_password;
    	afx_msg void OnPasswordChanged();
     
    	static TiersdeConfianceAuto_API afx_msg long ENVOI(LPCTSTR INFO_SESSION, LPCTSTR TYPE_TRANSMISSION, LPCTSTR CHEMIN_FLUX, BSTR FAR* FLUX_RETOUR);  
     
    	static TiersdeConfianceAuto_API afx_msg long VERSIONDLL(BSTR FAR* NOM_TC, BSTR FAR* VERSION_DLL);
     
    	static TiersdeConfianceAuto_API afx_msg BSTR MESSAGE_ERROR(long CODE_ERROR);
     
    	DECLARE_DISPATCH_MAP()
    	DECLARE_INTERFACE_MAP()
    };
     
    #endif
    Voila les erreurs :
    -Error LNK2001 unresolved external symbol "public: static char * CTiersdeConfianceAuto::m_tdt_trigramme" (?m_tdt_trigramme@CTiersdeConfianceAuto@@2PADA)

    -Error LNK2001 unresolved external symbol "private: static class CLog * CTiersdeConfianceAuto::m_logger" (?m_logger@CTiersdeConfianceAuto@@0PAVCLog@@A)

    -Error LNK2001 unresolved external symbol "private: static char * CTiersdeConfianceAuto::m_tdt_url" (?m_tdt_url@CTiersdeConfianceAuto@@0PADA)

    -Error LNK2001 unresolved external symbol "public: static char * CTiersdeConfianceAuto::m_tdt_trigramme" (?m_tdt_trigramme@CTiersdeConfianceAuto@@2PADA)

    -Error LNK2001 unresolved external symbol "public: static class CSessionTab CTiersdeConfianceAuto::m_session_tab" (?m_session_tab@CTiersdeConfianceAuto@@2VCSessionTab@@A)


    Mes erreurs sont lier avec les static (sur le code //ICI) je suis convaincu

    Le beug est lien avec la fonction ENVOI car les 2 autres (VERSION DLL et ERREUR) fonctionne.

    Et dans mon programme de teste voila la fonction que j'appelle :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    LPCTSTR INFO_SESSION = NULL;	
    LPCTSTR TYPE_TRANSMISSION = NULL;	
    LPCTSTR CHEMIN_FLUX = NULL;	
    BSTR FAR* FLUX_RETOUR = new BSTR(); 
    int L_RecuperationInfoENVOI = 0;	
     
    L_RecuperationInfoENVOI = CTiersdeConfianceAuto::ENVOI(INFO_SESSION, TYPE_TRANSMISSION, CHEMIN_FLUX, FLUX_RETOUR);
    donc si quelqu'un a une id�e je suis preneur

    MERCI D'AVANCE

  2. #2
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    As-tu aussi d�clar� tes instanciations de variables statiques en TiersdeConfianceAuto_API?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 503
    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 503
    Par d�faut
    Moi, je vois plein de trucs pas tr�s orthodoxe dans tout ce foutoir.

    Je reviens de vacances.

    Comme je suppose un niveau de maitrise de la plateforme par le PO assez faible (cf. http://www.developpez.net/forums/d15...mmuniquer-dll/), je tiens � signaler particuli�rement la "probl�matique" MFC.
    On ne fait pas une Dll MFC comme une Dll "Standard".

  4. #4
    Membre confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2015
    Messages
    79
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 30
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2015
    Messages : 79
    Par d�faut
    Citation Envoy� par bacelar Voir le message
    Moi, je vois plein de trucs pas tr�s orthodoxe dans tout ce foutoir.

    Je reviens de vacances.

    Comme je suppose un niveau de maitrise de la plateforme par le PO assez faible (cf. http://www.developpez.net/forums/d15...mmuniquer-dll/), je tiens � signaler particuli�rement la "probl�matique" MFC.
    On ne fait pas une Dll MFC comme une Dll "Standard".
    Salut,

    Je confirme que c'est pas tr�s orthodoxe et que c'est un m�ga foutoir mais je d�cline toute responsabilit� moi aussi j'ai eu peur en voyant le code et j'ai essayer de remettre au mieux de mes comp�tence et de ma compr�hension du code

    Et en reprenant le code j'ai refait un projet MFC DLL pour apr�s l'associ� a un .exe pour faire les testes.

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

Discussions similaires

  1. Error LNK2001 "unresolved external symbol _MAIN__"
    Par rihab1509 dans le forum Fortran
    R�ponses: 2
    Dernier message: 06/05/2009, 23h00
  2. Link code error LNK2001: unresolved external symbol
    Par Benjijmin dans le forum Fortran
    R�ponses: 4
    Dernier message: 02/12/2008, 12h24
  3. error LNK2001: unresolved external symbol _errno
    Par stof dans le forum Visual C++
    R�ponses: 4
    Dernier message: 10/08/2007, 15h40
  4. R�ponses: 2
    Dernier message: 05/06/2007, 09h37
  5. [ error LNK2001: unresolved external symbol]
    Par ARachid dans le forum MFC
    R�ponses: 2
    Dernier message: 18/05/2007, 13h33

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