c:\FCollada_Source_113\FUtils\FUString.h(58) : error C2084: function ‘bool IsEquivalent(const char *,const char *)’ already has a body
c:\FCollada_Source_113\FUtils\FUString.h(25) : see previous definition of ‘IsEquivalent’
c:\FCollada_Source_113\FUtils\FUString.h(59) : error C2084: function ‘bool IsEquivalent(const string &,const char *)’ already has a body
c:\FCollada_Source_113\FUtils\FUString.h(26) : see previous definition of ‘IsEquivalent’
c:\FCollada_Source_113\FUtils\FUString.h(60) : error C2084: function ‘bool IsEquivalent(const char *,const string &)’ already has a body
c:\FCollada_Source_113\FUtils\FUString.h(27) : see previous definition of ‘IsEquivalent’
By the way, if I don´t use UNICODE define, I get this:
Loader error LNK2005: “void __cdecl operator delete(void *,int,char const *,int)” (??3@YAXPAXHPBDH@Z) already defined in FColladaSD.lib(FCollada.obj)
Loader error LNK2005: “void __cdecl operator delete[](void *,int,char const *,int)” (??_V@YAXPAXHPBDH@Z) already defined in FColladaSD.lib(FCDEffectStandard.obj)
Loader fatal error LNK1169: one or more multiply defined symbols found
You should define UNICODE in project settings or before including any windows stuff.
In your case ‘TCHAR’ is ‘char’ (cause defined UNICODE after windows headers), thus ‘fchar’ is ‘char’ too and ‘fstring’ becomes std::basic_string<char>, which is equivalent to std::string. Hence function redefinition errors you’ve got.