PDA

View Full Version : Where are those headers?



yagabey
16th January 2009, 14:16
Hello,
I am checking out the example codes about adding accelerated graphics drivers to QtEmbedded 4.4.3. They reside in the qt source in "qt-embedded-linux-opensource-src-4.4.3/src/plugins/gfxdrivers/" folder. Some of these driver codes needs includes like:

#include <private/qpaintengine_raster_p.h>
#include <private/qwindowsurface_qws_p.h>
#include <QtGui/private/qpixmapdatafactory_p.h>
#include <QtGui/private/qwssignalhandler_p.h>

I compiled qt for my embedded ppc platform and installed. But Qt didn't create that "private" folder and related headers.

What does "private" folder mean? Should i change my configure options for Qt to create these libraries and headers? Anybody, any idea?

Thanks in advance...

wysota
16th January 2009, 14:29
Private headers are not deployed after the compilation. They are only needed to build Qt.

yagabey
16th January 2009, 22:31
Ok, i see.. Then if i wanna create a custom driver for my gpu, i should recompile all Qt source together with my driver code, right?

jpn
16th January 2009, 22:36
Probably your driver shouldn't include Qt's private headers in the first place...

yagabey
17th January 2009, 13:31
But; they(private headers) are used in Accelerated Graphics Driver Example (http://doc.trolltech.com/4.4/qws-svgalib.html). Shouldn't i take that example as a reference for my own driver..

wysota
17th January 2009, 16:29
Let's see...


Note the include statement used by this class. The files prefixed with private/ are private headers file within Qt for Embedded Linux. Private header files are not part of the standard installation and are only present while compiling Qt. To be able to compile using private header files you need to use a qmake binary within a compiled Qt for Embedded Linux package.

Warning: Private header files may change without notice between releases.

If you want to make changes in Qt itself, you patch Qt files and rebuild them. If you want to extend what Qt does in a particular project, you do that via the public API if available.