Den sön 21 juni 2020 kl 14:37 skrev Konstantin Ritt <ritt...@gmail.com>:
>
> > I think we then had discussions when moving from Qt 4 to Qt 5, that we will 
> > start requiring RTTI.
>
> However this was never promoted, and now you're saying people who ported 
> their projects with no-rtti to Qt5 had to enable rtti years ago or expect 
> crashes?)
>
> Thanks to Alberto for pointing this issue now, when the majority didn't 
> switch to the new LTS yet.
> I, for example, didn't know the issue with dynamic_cast across dll boundaries 
> is not an issue anymore.
>
> Plz make sure the documentation is up to date and `CONFIG += rtti_off` does 
> nothing as of 5.15.

Don't touch CONFIG += rtti_off, since QMake can be used for non-Qt
projects, who may want the ability to toggle this.

Agree the docs should be updated, and it should have been more clearly
communicated.

The -no-rtti configure switch for Qt itself was removed with
https://codereview.qt-project.org/c/qt/qtbase/+/182660 (since Qt 5.8).

Elvis

>
> Regards,
> Konstantin
>
>
> вс, 21 июн. 2020 г. в 14:23, Lars Knoll <lars.kn...@qt.io>:
>>
>>
>>
>> > On 21 Jun 2020, at 13:10, Giuseppe D'Angelo via Development 
>> > <development@qt-project.org> wrote:
>> >
>> > Il 20/06/20 22:45, Thiago Macieira ha scritto:
>> >> On Saturday, 20 June 2020 11:31:25 PDT Alberto Mardegan wrote:
>> >>> I think I missed an announcement about Qt applications having to use
>> >>> RTTI; on the opposite, I thought that the whole point of QMetaObject was
>> >>> not to require RTTI support; has this changed?
>> >> As you can see from the commit, no provision was made for no-RTTI builds. 
>> >> I
>> >> don't think they've ben allowed since 5.0.
>> >
>> > The Qt coding policy document still says that no RTTI facilities are 
>> > allowed within Qt:
>> >
>> >> https://wiki.qt.io/Coding_Conventions
>> >
>> > (Unchanged since 2015; before, I'm sure that document was somewhere else, 
>> > with the same contents regarding this matter.)
>> >
>> > Where/when was such a change of policy decided?
>>
>> We didn’t want it in earlier versions of Qt for mainly two reasons. Early 
>> implementations had quite an overhead on library size, and dynamic_cast 
>> didn’t work reliable between DLL boundaries on Windows. Both problems have 
>> gone away many years ago.
>>
>> I have to go by what I remember now, but I think we then had discussions 
>> when moving from Qt 4 to Qt 5, that we will start requiring RTTI. The 
>> reasons where that dynamic_cast<> and typeid require it and it has very 
>> little overhead on library size (as opposed to exceptions which are still 
>> optional). By that time (or maybe even earlier), we also started compiling 
>> Qt with RTTI enabled on all platforms.
>>
>> But it looks like nobody ever adjusted the wiki page :/
>>
>> We are making use of dynamic_cast and typeid in Qt nowadays, so I guess it’s 
>> high time we adjust the wiki.
>>
>> Cheers,
>> Lars
>>
>> _______________________________________________
>> Development mailing list
>> Development@qt-project.org
>> https://lists.qt-project.org/listinfo/development
>
> _______________________________________________
> Development mailing list
> Development@qt-project.org
> https://lists.qt-project.org/listinfo/development
_______________________________________________
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development

Reply via email to