Windows Build failure

John Ralls jralls at ceridwen.us
Fri Jul 24 13:13:36 EDT 2015


> On Jul 24, 2015, at 6:09 AM, Robert Fewell <14ubobit at gmail.com> wrote:
> 
> John,
> 
> Still trying to compile with your patch with the following changes for load_windows_default_tz...
> 
> void
> TimeZoneProvider::load_windows_default_tz()
> {
>     TIME_ZONE_INFORMATION tzi {};
>     if (GetTimeZoneInformation (&tzi) == TIME_ZONE_ID_INVALID)
>         throw std::invalid_argument ("No default time zone.");
>     RegTZI regtzi { tzi.Bias, tzi.StandardBias, tzi.DaylightBias, tzi.StandardDate, tzi.DaylightDate };
> 
>     time_zone_names names (tzi.StandardName, tzi.StandardName, tzi.DaylightName, tzi.DaylightName);
> 
>     zone_vector.push_back(std::make_pair(0, zone_from_regtzi(regtzi, names)));
> }
> 
> and I also added this to hpp file line 63...
> 
>     void load_windows_default_tz(void);
> 
> but am getting this error...
> 
> c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp: In member function 'void TimeZoneProvider::load_windows_default_tz
> ()':
> c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:237:98: error: no matching function for call to 'boost::date_time::
> time_zone_names_base<char>::time_zone_names_base(WCHAR [32], WCHAR [32], WCHAR [32], WCHAR [32])'
>      time_zone_names names (tzi.StandardName, tzi.StandardName, tzi.DaylightName, tzi.DaylightName);
>                                                                                                                                                         ^
> c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:237:98: note: candidates are:
> In file included from c:/gcdev/boost/include/boost/date_time/local_time/custom_time_zone.hpp:12:0,
>                  from c:/gcdev/boost/include/boost/date_time/local_time/local_time_types.hpp:18,
>                  from c:/gcdev/boost/include/boost/date_time/local_time/local_time.hpp:13,
>                  from c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.hpp:34,
>                  from c:/gcdev/gnucash.git/src/libqof/qof/gnc-timezone.cpp:23:
> c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:59:5: note: boost::date_time::time_zone_names_base<CharT>::ti
> me_zone_names_base(const string_type&, const string_type&, const string_type&, const string_type&) [with CharT = char; b
> oost::date_time::time_zone_names_base<CharT>::string_type = std::basic_string<char>]
>      time_zone_names_base(const string_type& std_zone_name_str,
>      ^
> c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:59:5: note:   no known conversion for argument 1 from 'WCHAR
> [32] {aka wchar_t [32]}' to 'const string_type& {aka const std::basic_string<char>&}'
> c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:53:5: note: boost::date_time::time_zone_names_base<CharT>::ti
> me_zone_names_base() [with CharT = char]
>      time_zone_names_base() :
>      ^
> c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:53:5: note:   candidate expects 0 arguments, 4 provided
> c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:49:9: note: boost::date_time::time_zone_names_base<char>::tim
> e_zone_names_base(const boost::date_time::time_zone_names_base<char>&)
>    class time_zone_names_base
>             ^
> c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:49:9: note:   candidate expects 1 argument, 4 provided
> c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:49:9: note: boost::date_time::time_zone_names_base<char>::tim
> e_zone_names_base(boost::date_time::time_zone_names_base<char>&&)
> c:/gcdev/boost/include/boost/date_time/time_zone_names.hpp:49:9: note:   candidate expects 1 argument, 4 provided
> At global scope:
> cc1plus.exe: error: unrecognized command line option "-Wno-deprecated-register" [-Werror]
> cc1plus.exe: all warnings being treated as errors
> 
> Will ponder further but you may beat me to an answer.
> 

Robert,

Ah, right, tzi.StandardName and tzi.DaylightName are wchar_t[] and boost doesn’t know what to do with them. This revised patch might work.

Regards,
John Ralls
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Windows-Get-default-timezone-if-there-s-no-default-k.patch
Type: application/octet-stream
Size: 2395 bytes
Desc: not available
URL: <http://lists.gnucash.org/pipermail/gnucash-devel/attachments/20150724/b24e6e9a/attachment.obj>
-------------- next part --------------



More information about the gnucash-devel mailing list