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:
Voila les erreurs :
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
-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 :
donc si quelqu'un a une id�e je suis preneur
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);
MERCI D'AVANCE
Partager