[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Mingw-cross-env-list] printf("%lld %jd" unknown conversion type charact

From: Remi Chateauneu
Subject: [Mingw-cross-env-list] printf("%lld %jd" unknown conversion type character 'l' and 'j' in format
Date: Fri, 12 Apr 2013 01:32:25 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; fr; rv: Gecko/20101027 Lightning/1.0b2 Thunderbird/3.1.6


Still trying to compile and link fldigi with MXE, and I get the error with the following line:

printf("%lld %jd", freq, (intmax_t)rtime );

spot/pskrep.cxx:735:2: warning: unknown conversion type character 'l' in format [-Wformat] spot/pskrep.cxx:735:2: warning: unknown conversion type character 'j' in format [-Wformat]

Some details about a similar problem here:


 As you can see, it interprets the unsigned long long as a 32 integer,
 and not 64 bit one...

 Which is exactly as you should expect, when you use the standard Microsoft
 implementations of printf, scanf and friends, (as MinGW does).

This leaves me a bit surprised because "long long" has to be 64 bits everywhere 
I think.

Anyway, the program fldigi compiles fine with this version of mingw:


msvc means ( http://sourceware.org/ml/crossgcc/2006-02/msg00256.html ):

"The mingw tool chain uses the Microsoft C runtime library (MSVCRT.DLL)."

It is a bit problematic to change the code. Do you please think there is 
another solution ?

Many thanks in advance.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]