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
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest