[Interest] Apologies on the "bloat" thread (a.k.a yes Windows is still important)
Thiago Macieira
thiago.macieira at intel.com
Thu Apr 11 05:36:32 CEST 2013
On quarta-feira, 10 de abril de 2013 21.54.29, Michael Jackson wrote:
> So we have to move include files around during the build because command
> line lengths are too long? I have never understood why the header for
> QString isn't QString.h. Why is it qstring.h?
The header is qstring.h because it has always been qstring.h. That works in Qt
1, 2, 3, 4 and 5, provided you have the right -I flags.
The novelty came from Qt 4, because you can include the class name without
caring for which header it comes from. QString is not a good example, so I ask
you: what header provides these?
QMetaMethod
QProcessEnvironment
QGraphicsObject
QGraphicsPixmapItem
QEvent
Another thing came from Mac support: frameworks. Because in Qt 4 the one big
Qt library was split into multiple libraries and each one is a framework, you
need a two-level include to make it work with simple buildsystems:
#include <QtCore/qstring.h>
not
#include <qstring.h>
The latter only works if you add an -I to the Headers directory inside the
QtCore.framework bundle. (Granted, recently the Mac OS X framework development
philosophy changed, so headers-inside-frameworks is no longer recommended)
We don't want to manually maintain those headers. They change a lot during
development. And we might accidentally forget an update before a release, only
to see it reported as a bug with an angry "You don't do QA!" comment. So we
wrote a simple script to do it for us.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel Open Source Technology Center
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20130410/757aacd2/attachment.sig>
More information about the Interest
mailing list