Jag har gjort ett lib där jag använder std:wstring för stränghantering. >När jag provkör mitt lib i ett testprogram ser jag att alla wstring är deklaerade som: > >När jag provkör mitt lib i ett testprogram ser jag att alla wstring är deklaerade som: Den "enklaste" lösningen borde ju vara att skriva ut hela skiten i ditt lib, men knappast "rätt" lösning.std:wstring använder olika typ
Nu har jag skapat ett nytt projekt som ska använda detta lib, men jag får problem när jag ska anropa funktioner med std:wstring som indata.
Jag får länkfel:
error LNK2001: unresolved external symbol "public: class XXX * __thiscall XXX::YYY(class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >)"
När jag provkör mitt lib i ett testprogram ser jag att alla wstring är deklaerade som:
std::basic_string<char,std::char_traits<char>,std::allocator<char> >
Varför blir det så och hur löser jag det?Sv: std:wstring använder olika typ
>std::basic_string<char,std::char_traits<char>,std::allocator<char> >
Det där är ju ingen wstring. Den använder ju char och inte wchar_t.
>std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> >)"
Det verkar som om wchar_t tolkas som unsigned short. Det borde finns någon inställning som anger att wchar_t skall vara en egen typ.Sv:std:wstring använder olika typ
> >std::basic_string<char,std::char_traits<char>,std::allocator<char> >
> Det där är ju ingen wstring. Den använder ju char och inte wchar_t.
Det är därför jag blev väldigt förvånad. Det ska ju inte vara så. Sv: std:wstring använder olika typ
Är filerna kompilerade med samma kompilator?
Vilken/vilka kompilatorer är det?