Found out that the patch that is included in that discussion is working fine for Visual Studio 2017 15.5.6, i think postgresql developer should include it on upstream branch or 9.6.x variant. Thanks a lot Tom! @Thomas I haven't checked it out but as above mentioned, the patch is working fine so far, although i haven't check it thoroughly. On Tue, Feb 20, 2018 at 3:54 AM, Thomas Munro <thomas.munro@xxxxxxxxxxxxxxxx> wrote: > 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