RESULT! (was: Re: Building on Windows from scratch - follow up)
Geert Janssens
janssens-geert at telenet.be
Wed May 7 08:54:27 EDT 2014
On Friday 02 May 2014 14:55:42 John Ralls wrote:
> > > then I get the dreaded unrecognized “l” format error,
> >
> > What is the dreaded unrecognized "l" format error ? I have never
> > seen it on my WinXP test system. In which step do you get this ?
> It’s that the ancient msvcrt.dll used by MinGW doesn’t know about %lld
> for printing or scanning int64s. Back before Microsoft accepted the
> c99 standard (around 2006, IIRC) their printf() required using %I64d
> instead, and threw a "unknown conversion type character 'l' in format
> [-Wformat]” warning. The msvcrt.dll in MinGW is that old. There are a
> couple of workarounds, and -D__USE_MINGW_ANSI_STDIO is one of them.
Ok. Just to clear it up completely for me: when you set that directive
mingw does understand %lld ?
Would that also work on Windows XP or not ? Hmm, Windows XP is 32-bit
only so perhaps when building on WinXP you never see that directive. Is
it a problem only for 64-bit ?
Perhaps related: business users can define a number format for
invoices/bills via File->Properties->Business. I remember there also
this problem of %lld vs %I64d is rearing its ugly head. So if we build
gnucash with the above directive perhaps this problem would go away as
well ?
Geert
More information about the gnucash-devel
mailing list