[Interest] QT_LARGEFILE_SUPPORT : macro redefinition.

william.crocker at analog.com william.crocker at analog.com
Mon Jun 9 12:18:24 CEST 2014


On 06/09/2014 04:18 AM, Konrad Rosenbaum wrote:
> Hi,
>
> On Sunday 08 June 2014 19:28:34 Bill Crocker wrote:
>> I am upgrading a project from Qt 4.7.1 to Qt 4.8.6
>> When I build this project on Windows, I now see this:
>>
>>       c:\qt\4.8.6\include\qtcore\../../src/corelib/global/qconfig.h(46) :
>>           warning C4005: 'QT_LARGEFILE_SUPPORT' : macro redefinition
>>           command-line arguments :  see previous definition of
>> 'QT_LARGEFILE_SUPPORT'
>>
>> I am building in VisualStudio 2008 C++
>> from an import of my .pro file.
>>
>> Does anyone know what might be causing this?
>
> As the friendly warning is telling you: QT_LARGEFILE_SUPPORT is defined both
> in qconfig.h and on the commandline given to your compiler.... ;-)
>
> Short answer: ignore this one, it is harmless.
>
> Long answer:
>
> qconfig.h contains platform configurations for Qt, most command line
> parameters come from the mkspec of your platform. Both describe how your
> platform behaves in regards to Qt. For some odd reason this define appears
> in both without a guard.
>
> As said above: it is harmless. Your compiler is just a bit picky about
> preprocessor symbols.
>
> If you absolutely and positively cannot live with this warning:
>
> A quickfix would be to include this _before_any_Qt_includes_(!!) in the cpp-
> file that has this problem:
>
> #ifdef QT_LARGEFILE_SUPPORT
> #undef QT_LARGEFILE_SUPPORT
> #endif
>
> A more robust fix would be to put this into the beginning of qconfig.h.
>
> It's important that this #define happens at least once, otherwise you'll
> have trouble handling big files.
>

Thanks.
I was just surprised to see this.
It leads me to believe that something is not installed correctly.
Why would this appear in an X.8.6 (mature?) release.

Bill




More information about the Interest mailing list