Bonjour,

J'ai un probleme avec une dll Win32 exportant des classes contenant des methode retournat un CString.
Les methode qui retournent des entiers ou meme des CArray sont retrouv�es lors de l'edition de lien mais toutes les methodes retournat des CString donne lieu a une erreur du type:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
 
error LNK2019: symbole externe non résolu "__declspec(dllimport) public: class ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > > __thiscall CDpwsService::GetSubscriptionId(void)const " (__imp_?GetSubscriptionId@CDpwsService@@QBE?AV?$CStringT@DV?$StrTraitMFC_DLL@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@XZ) référencé dans la fonction "public: virtual int __thiscall CMetaDataDlg::OnInitDialog(void)" (?OnInitDialog@CMetaDataDlg@@UAEHXZ)
Ma classe est declaree comme �a:
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
#ifndef DPWS_SERVICE_H
#define DPWS_SERVICE_H
 
#ifdef DPWS_SERVICE_EXPORTS
#define DPWS_SERVICE_API __declspec(dllexport)
#else
#define DPWS_SERVICE_API __declspec(dllimport)
#endif
 
#include <AfxTempl.h>
 
#include "DpwsWsdlInfo.h"
 
class DPWS_SERVICE_API CDpwsService
{
public:
    CDpwsService(void);
    ~CDpwsService(void);
 
    void SetServiceId(CString aserviceId);
    void SetAddress(CString aAddress);
    void SetSubscriptionId(CString aSubscriptionId);
 
    CString GetServiceId() const;
    CString GetAddress() const;
    CString GetSubscriptionId() const;
    int GetNbWsdl() const;
 
    void AddWsdl(CDpwsWsdlInfo * aWsdlInfo);
    const CDpwsWsdlInfo * GetWsdlAt(int i) const;
 
private:
    CString m_serviceId;
    CString m_address;
    CString m_subscriptionId;
 
    //WSDLS Info
    CArray < CDpwsWsdlInfo * > m_wsdlsInfo; 
};
#endif
Je suppose qu'il y a un "bins" avec le type de retour (un template) et les fameux warning 4251, mais je ne trouve pas le moyen de contourner ce pb.