On Tue, Feb 20, 2018 at 6:23 AM, Tom Lane <tgl@xxxxxxxxxxxxx> wrote: > Aditya Nugraha <vortexilation@xxxxxxxxx> writes: >> When trying to compile postgresql 9.6.7 with Visual Studio 15.5.6, >> i am getting errors at these following line : >> src/backend/utils/adt/pg_locale.c(927): error C2037: left of >> 'locale_name' specifies undefined struct/union '__crt_lo >> cale_data' [C:\Users\nameless\Documents\Works\Compiling\pgwininstall\builddir\postgresql\postgresql-9.6.7\postgres.vcxpr >> oj] >> src/backend/utils/adt/pg_locale.c(928): error C2198: 'wchar2char': >> too few arguments for call [C:\Users\nameless\Docum >> ents\Works\Compiling\pgwininstall\builddir\postgresql\postgresql-9.6.7\postgres.vcxproj] > > This was previously discussed here: > > https://www.postgresql.org/message-id/flat/CANFyU959RRvAqmrGvLor%3Dgo3PSi4LdYcjDw8TQ6YRvzpouZrog%40mail.gmail.com > > Apparently Microsoft have changed their APIs in VS2015. Somebody needs to > figure out what's the approved way now to get the locale name out of a > _locale_t object. [Not a Windows person, just curious] I wonder if the result of ResolveLocaleName("foo", output_buffer, output_buffer_size) would be the same as locale->locinfo->local_name[LC_TYPE] on the result of _create_locale(LC_CTYPE, "foo"). https://msdn.microsoft.com/en-us/library/windows/desktop/dd319112(v=vs.85).aspx -- Thomas Munro http://www.enterprisedb.com