http://bugs.winehq.org/show_bug.cgi?id=58465 Eric Pouech <eric.pouech(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |eric.pouech(a)gmail.com --- Comment #1 from Eric Pouech <eric.pouech(a)gmail.com> --- This likely stems from the fact that wchar_t is 32 bit on Linux. wineg++ (by default) forces 16bit wchar_t so that a wchar_t is matched with a WCHAR. But that likely breaks libstd++ (this can be verified by passing -fshort-char to g++ in your repro test, which exhibits the same caveats as the wineg++ ones) There's no simple solution I'm afraid here. You may want to keep wchar_t as 32bit for compat with libstd++, and potentially other Linux libraries. You can pass -fno-short-wchar to wineg++ to let wchar_t be 32bit. That will fix the libstd++ compat issues. But now, you're your on to deal with the wchar_t (32bit) <> WCHAR (16bit) discrepancy in strings std::u16string will be compatible with WCHAR though; but impact on existing codebase (replacing wstring with u16string; 16 <> 32 bit string conversions where required) has to be measured You can move your app to PE format (where wchar_t will be 16bit, so std::wstring usage will be ok), but will require some more work to call to .so libs if needed -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.