Utilisé string dans une dll c++

cs_avg Messages postés 97 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 20 août 2011 - 2 avril 2010 à 10:43
cs_avg Messages postés 97 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 20 août 2011 - 2 avril 2010 à 11:08
Bonjour à tous
j'ai un problème avec la création d'une dll avec c++
pour créer les fonctions à exporté de dll si son type de retour est int ou void les types de c en général ça marche voir comme exemple
Code c++:
extern "C" int WINAPI getdatabase()
{
res=c.GetDatabase(0,cdb);
 return(res);

}


mais si je veut utiliser un string comme type de retour pour le fonction j'ai ce message d'erreur lors de la compilation

warning C4190: 'getdatabase' a une liaison C spécifiée, mais retourne 'std::basic_string<_Elem,_Traits,_Ax>' UDT qui est incompatible avec C
        with
        [
            _Elem=char,
            _Traits=std::char_traits<char>,
            _Ax=std::allocator<char>
        ]


Merci pour vos aides

1 réponse

cs_avg Messages postés 97 Date d'inscription lundi 5 novembre 2007 Statut Membre Dernière intervention 20 août 2011
2 avril 2010 à 11:08
voir le code avec string
extern "C" std::string WINAPI getdatabase()
{
std::string ch="kld";
//res=c.GetDatabase(0,cdb);
 return(ch);

}
0
Rejoignez-nous