diff options
Diffstat (limited to 'doc/src')
30 files changed, 558 insertions, 527 deletions
diff --git a/doc/src/bughowto.qdoc b/doc/src/bughowto.qdoc index a7b5569..1793fce 100644 --- a/doc/src/bughowto.qdoc +++ b/doc/src/bughowto.qdoc @@ -34,7 +34,7 @@ about it so that we can fix it. Before reporting a bug, please check the \l{FAQs}, \l{Platform - Notes}, and the \l{Qt Bug Tracker} on the Qt website to see + and Compiler Notes}, and the \l{Qt Bug Tracker} on the Qt website to see if the issue is already known. The first thing you should do is to sign up for an account for diff --git a/doc/src/classes/phonon-api.qdoc b/doc/src/classes/phonon-api.qdoc index a429e5a..6c9c8de 100644 --- a/doc/src/classes/phonon-api.qdoc +++ b/doc/src/classes/phonon-api.qdoc @@ -4114,7 +4114,7 @@ */ /*! - \fn Phonon::VideoWidget::snapshot() + \fn Phonon::VideoWidget::snapshot() const \since 4.7 Returns a snapshot of the current frame shown in the widget. @@ -4312,6 +4312,16 @@ */ /*! + \class Phonon::VideoWidgetInterface44 + \inmodule Phonon + \since 4.7 +*/ + +/*! + \fn Phonon::VideoWidgetInterface44::snapshot() const +*/ + +/*! \typedef Phonon::VideoWidgetInterfaceLatest \inmodule Phonon \since 4.7 @@ -5076,6 +5086,22 @@ */ /*! + \fn int Phonon::AudioDataOutput::sampleRate() const + + Returns the sample rate measured in Hertz, as reported by the backend. + If the backend is unavailable -1 is returned. +*/ + +/*! + \fn void Phonon::AudioDataOutput::endOfMedia(int remainingSamples) + + This signal is emitted before the final dataReady() signal is emitted for + a media. The \a remainingSamples value sent by the signal contains the + number of samples that will be sent in the final dataReady() signal for + the media. +*/ + +/*! \fn Phonon::AudioDataOutput::dataReady(const QMap<Phonon::AudioDataOutput::Channel, QVector<qint16> > &data) This signal is emitted whenever there is data available to read. The @@ -5084,13 +5110,28 @@ */ /*! + \fn Phonon::AudioDataOutputPrivate::AudioDataOutputPrivate() + \internal +*/ + +/*! \fn Phonon::AudioDataOutputInterface::~AudioDataOutputInterface() Destroys the data interface. */ /*! - \fn Phonon::AudioDataOutputInterface::frontendObject() + \fn Phonon::AudioDataOutputInterface::frontendObject() const + \internal +*/ + +/*! + \fn Phonon::AudioDataOutputInterface::setFrontendObject(AudioDataOutput *) + \internal +*/ + +/*! + \fn Phonon::GlobalConfigPrivate::GlobalConfigPrivate() \internal */ @@ -5098,3 +5139,8 @@ \fn Phonon::GlobalConfigPrivate::~GlobalConfigPrivate() \internal */ + +/*! + \fn Phonon::SwiftSlider::~SwiftSlider() + \internal +*/ diff --git a/doc/src/development/developing-with-qt.qdoc b/doc/src/development/developing-with-qt.qdoc index 3972b59..6793abd 100644 --- a/doc/src/development/developing-with-qt.qdoc +++ b/doc/src/development/developing-with-qt.qdoc @@ -81,8 +81,8 @@ \o \l {Compiler Notes} \o \l {Developing Qt Applications for Mac OS X} \o \l {Known Issues} - \o \l {Platform Notes} - \o \l {Platform Notes - Symbian} + \o \l {Platform and Compiler Notes} + \o \l {Platform and Compiler Notes - Symbian} \o \l {ActiveX in Qt} \o \l {Qt for Embedded Linux Classes} \o \l {Qt for Embedded Platforms} @@ -112,4 +112,4 @@ \endtable -*/
\ No newline at end of file +*/ diff --git a/doc/src/development/qtestlib.qdoc b/doc/src/development/qtestlib.qdoc index cc5afd2..e53957f 100644 --- a/doc/src/development/qtestlib.qdoc +++ b/doc/src/development/qtestlib.qdoc @@ -32,7 +32,7 @@ \ingroup frameworks-technologies \ingroup qt-basic-concepts - + \keyword qtestlib The QTestLib framework, provided by Nokia, is a tool for unit @@ -40,10 +40,6 @@ all the functionality commonly found in unit testing frameworks as well as extensions for testing graphical user interfaces. - Table of contents: - - \tableofcontents - \section1 QTestLib Features QTestLib is designed to ease the writing of unit tests for Qt @@ -88,6 +84,10 @@ \o Custom types can easily be added to the test data and test output. \endtable + \note For higher-level GUI and application testing needs, please + see the \l{Partner Directory} for Qt testing products provided by + Nokia partners. + \section1 QTestLib API @@ -213,17 +213,17 @@ \endlist \section2 Creating a Benchmark - + To create a benchmark, follow the instructions for creating a test and then add a QBENCHMARK macro to the test function that you want to benchmark. - + \snippet doc/src/snippets/code/doc_src_qtestlib.qdoc 12 - + The code inside the QBENCHMARK macro will be measured, and possibly also repeated several times in order to get an accurate measurement. This depends on the selected measurement back-end. Several back-ends are available. They can be selected on the command line: - + \target testlib-benchmarking-measurement \table @@ -243,7 +243,7 @@ \o -eventcounter \o All platforms \endtable - + In short, walltime is always available but requires many repetitions to get a useful result. Tick counters are usually available and can provide @@ -255,7 +255,7 @@ Event counting is available on all platforms and it provides the number of events that were received by the event loop before they are sent to their corresponding targets (this might include non-Qt events). - + \note Depending on the device configuration, Tick counters on the Windows CE platform may not be as fine-grained, compared to other platforms. Devices that do not support high-resolution timers default to @@ -320,7 +320,7 @@ host computer and the device. Thus header files and libraries are needed to compile cetest and QtRemote successfully. - Prior to \l{Installing Qt on Windows CE}{installation} of Qt, you need to set your + Prior to \l{Installing Qt for Windows CE}{installation} of Qt, you need to set your \c INCLUDE and \c LIB environment variables properly. A default installation of Windows Mobile 5 for Pocket PC can be obtained by: @@ -334,7 +334,7 @@ The CPU tick counters used for benchmarking is licensed under the following license: (from src/testlib/3rdparty/cycle.h) - + \legalese Copyright (c) 2003, 2006 Matteo Frigo\br Copyright (c) 2003, 2006 Massachusetts Institute of Technology @@ -365,6 +365,7 @@ \brief A short introduction to testing with QTestLib. \contentspage QTestLib Manual \nextpage {Chapter 1: Writing a Unit Test}{Chapter 1} + \ingroup best-practices \title QTestLib Tutorial diff --git a/doc/src/examples/webkit-bridge-imageanalyzer.qdoc b/doc/src/examples/webkit-bridge-imageanalyzer.qdoc index b8c42c6..cee2659 100644 --- a/doc/src/examples/webkit-bridge-imageanalyzer.qdoc +++ b/doc/src/examples/webkit-bridge-imageanalyzer.qdoc @@ -24,9 +24,10 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ + /*! \example webkit/imageanalyzer - \startpage {index.html} {Qt Reference Documentation} + \startpage {index.html}{Qt Reference Documentation} \title The Webkit Bridge Tutorial - Hybrid Client Application In this example, we will show how to write a hybrid application using @@ -84,7 +85,7 @@ page's mainFrame with \c addToJavaScriptWindowObject(). \snippet examples/webkit/imageanalyzer/resources/index.html sample images - Clicking an image adds it to an images list. +Clicking an image adds it to an images list. \snippet examples/webkit/imageanalyzer/resources/index.html addImage diff --git a/doc/src/external-resources.qdoc b/doc/src/external-resources.qdoc index a23ae4d..8eeaeb1 100644 --- a/doc/src/external-resources.qdoc +++ b/doc/src/external-resources.qdoc @@ -436,7 +436,7 @@ /*! \externalpage https://developer.mozilla.org/en/JavaScript - \title JavaScript + \title JavaScript Resources */ /*! diff --git a/doc/src/frameworks-technologies/dnd.qdoc b/doc/src/frameworks-technologies/dnd.qdoc index 56b461e..356bf9b 100644 --- a/doc/src/frameworks-technologies/dnd.qdoc +++ b/doc/src/frameworks-technologies/dnd.qdoc @@ -44,7 +44,7 @@ outlines the approach used to enable it in custom widgets. Drag and drop operations are also supported by Qt's item views and by the graphics view framework. More information is available in - \l{Using drag & drop with item views} and \l{Graphics View + \l{Using drag and drop with item views} and \l{Graphics View Framework}. \section1 Drag and Drop Classes diff --git a/doc/src/frameworks-technologies/model-view-programming.qdoc b/doc/src/frameworks-technologies/model-view-programming.qdoc index 6de567c..cc98432 100644 --- a/doc/src/frameworks-technologies/model-view-programming.qdoc +++ b/doc/src/frameworks-technologies/model-view-programming.qdoc @@ -32,7 +32,7 @@ /*! \page model-view-programming.html - \ingroup qt-basic-concepts + \ingroup qt-basic-concepts \title Model/View Programming \brief A guide to Qt's extensible model/view architecture. @@ -1635,7 +1635,7 @@ contain the text given in the search string. This pattern can also be used in the list and table widgets. - \section1 Using drag & drop with item views + \section1 Using Drag and Drop with Item Views Qt's drag and drop infrastructure is fully supported by the model/view framework. Items in lists, tables, and trees can be dragged within the views, and data can be @@ -1715,7 +1715,7 @@ of QAbstractItemModel::removeRows(), either directly or by inheriting the implementation from its base class. - \section3 Enabling drag & drop for items + \section3 Enabling drag and drop for items Models indicate to views which items can be dragged, and which will accept drops, by reimplementing the QAbstractItemModel::flags() function to provide suitable @@ -2154,7 +2154,7 @@ models to supply some unique identifier to this function to ensure that the model index can be re-associated with its corresponding item later on. - \section2 Drag & drop support and MIME type handling + \section2 Drag and drop support and MIME type handling The model/view classes support drag and drop operations, providing default behavior that is sufficient for many applications. However, it is also possible to customize @@ -2283,7 +2283,7 @@ \endlist For more information about drag and drop with item views, refer to - \l{Using drag & drop with item views}. + \l{Using drag and drop with item views}. \section3 Convenience views @@ -2294,7 +2294,7 @@ the existing contents with the data being transferred, the underlying model will set the data of the target items rather than insert new rows and columns into the model. For more information on drag and drop in convenience views, - you can see \l{Using drag & drop with item views}. + you can see \l{Using drag and drop with item views}. \section2 Performance optimization for large amounts of data diff --git a/doc/src/getting-started/examples.qdoc b/doc/src/getting-started/examples.qdoc index c4892a8..851e161 100644 --- a/doc/src/getting-started/examples.qdoc +++ b/doc/src/getting-started/examples.qdoc @@ -53,7 +53,8 @@ deliberately show off Qt's features. You might want to look at these as well. - These examples are provided under the terms of the \l{BSD License}. + These examples are provided under the terms of the + \l{New and Modified BSD Licenses}{Modified BSD License}. \section1 Examples by Functional Area diff --git a/doc/src/getting-started/gettingstartedqml.qdoc b/doc/src/getting-started/gettingstartedqml.qdoc index 065628a..c555627 100644 --- a/doc/src/getting-started/gettingstartedqml.qdoc +++ b/doc/src/getting-started/gettingstartedqml.qdoc @@ -81,7 +81,7 @@ In QML, the basic visual item is the \l {Rectangle}{Rectangle} element. The \c Rectangle element has properties to control the element's appearance and location. - \snippet examples/tutorials/gettingStarted/gsQml/core/Button.qml document + \snippet examples/tutorials/gettingStarted/gsQml/parts/part0/Button.qml document First, the \c { import QtQuick 1.0 } allows the qmlviewer tool to import the QML elements we will later use. This line must exist for every QML file. Notice that the version diff --git a/doc/src/getting-started/installation.qdoc b/doc/src/getting-started/installation.qdoc index c6e79d9..8f6f16a 100644 --- a/doc/src/getting-started/installation.qdoc +++ b/doc/src/getting-started/installation.qdoc @@ -40,7 +40,7 @@ for your platform from the following list. */ /*! \page install-x11.html -\title Installing Qt on X11 Platforms +\title Installing Qt for X11 Platforms \ingroup installation \brief How to install Qt on platforms with X11. \previouspage Installation @@ -151,7 +151,7 @@ for your platform from the following list. /*! \page install-win.html -\title Installing Qt on Windows +\title Installing Qt for Windows \ingroup installation \brief How to install Qt on Windows. \previouspage Installation @@ -269,7 +269,7 @@ for your platform from the following list. */ /*! \page install-mac.html -\title Installing Qt on Mac OS X +\title Installing Qt for Mac OS X \ingroup installation \brief How to install Qt on Mac OS X. \previouspage Installation @@ -563,7 +563,7 @@ in the \l{Qt for the Symbian platform Requirements} document. This document describes how to install and configure Qt for the Symbian platform from scratch. If you are using pre-built binaries, follow -the instructions given in the \l{Installing Qt on the Symbian platform from a +the instructions given in the \l{Installing Qt for the Symbian platform from a Binary Package} document. \section1 Step 1: Set Up the Development Environment diff --git a/doc/src/legal/opensourceedition.qdoc b/doc/src/legal/opensourceedition.qdoc index e3a3e27..602e6d3 100644 --- a/doc/src/legal/opensourceedition.qdoc +++ b/doc/src/legal/opensourceedition.qdoc @@ -46,7 +46,7 @@ that are compatible with these free software licenses. Additionally, the \l{Qt Examples}{examples} included with Qt are provided under - the terms of the \l{BSD License}. + the terms of the \l{New and Modified BSD Licenses}{Modified BSD License}. The support of open source with the Open Source Versions of Qt has enabled large successful software projects like KDE to thrive, with thousands of developers diff --git a/doc/src/platforms/compiler-notes.qdoc b/doc/src/platforms/compiler-notes.qdoc index 5ff3112..fb534df 100644 --- a/doc/src/platforms/compiler-notes.qdoc +++ b/doc/src/platforms/compiler-notes.qdoc @@ -31,273 +31,14 @@ \title Compiler Notes \brief Information about the C++ compilers and tools used to build Qt. - This page contains information about the C++ compilers and tools used - to build Qt on various platforms. + This page used to contain information about the C++ compilers and tools + used to build Qt on various platforms. This information is now maintained + in the \l{Platform and Compiler Notes} for each platform. - \tableofcontents - - Please refer to the \l{Platform Notes} for information on the platforms - Qt is currently known to run on, and see the \l{Supported Platforms} - page for information about the status of each platform. + Please refer to the \l{Supported Platforms} page for information about the + status of each platform. If you have anything to add to this list or any of the platform or compiler-specific pages, please submit it via the \l{Bug Report Form} or through the \l{Public Qt Repository}. - - \section1 Supported Features - - Not all compilers used to build Qt are able to compile all modules. The following table - shows the compiler support for five modules that are not uniformly available for all - platforms and compilers. - - \table - \header \o Compiler \o{5,1} Features - \header \o \o Concurrent \o XmlPatterns \o WebKit(*) \o CLucene \o Phonon - \row \o g++ 3.3 \o \o \bold{X} \o \o \bold{X} \o \bold{X} - \row \o g++ 3.4 and up \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} - \row - \row \o SunCC 5.5 \o \o \o \o \bold{X} \o \bold{X} - \row - \row \o aCC series 3 \o \o \o \o \bold{X} \o \bold{X} - \row \o aCC series 6 \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} - \row \o xlC 6 \o \o \o \o \bold{X} \o \bold{X} - \row \o Intel CC 10 \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} - \row - \row \o MSVC 2003 \o \bold{X} \o \bold{X} \o \o \bold{X} \o \bold{X} - \row \o MSVC 2005 and up \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} - \endtable - - * WebKit is only supported as a dynamically built library. Static linkage is not supported. - - \target GCC - \section1 GCC - - \section2 GCC on Windows (MinGW) - - We have tested Qt with this compiler on Windows XP. - The minimal version of MinGW supported is: - - \list - \o GCC 3.4.2 - \o MinGW runtime 3.7 - \o win32api 3.2 - \o binutils 2.15.91 - \o mingw32-make 3.80.0-3 - \endlist - - \note For users of the MinGW binary package: This package is now - based on MinGW 4.4. The installer no longer offers to download - MinGW for you, but rather offers to use a version of MinGW that - you already have installed on your machine. You just tell the - installer which directory MinGW is installed in. If you don't - already have MinGW 4.4 installed, you can download a .zip archive - from our \l{ftp://ftp.trolltech.com/misc/MinGW-gcc440_1.zip} {ftp - site}. This archive provides fixes to MinGW and support for - missing API, See the _patches directory in the archive for - details. - - \note A MinGW installation is only needed to build against the - binary pacakge, not to run the pre-compiled binaries that are in - the package. - - \section2 GCC 4.0.0 - - The released package of the compiler has some bugs that lead to - miscompilations. We recommend using GCC 4.0.1 or later, or to use - a recent CVS snapshot of the GCC 4.0 branch. The version of GCC - 4.0.0 that is shipped with Mac OS X 10.4 "Tiger" is known to work - with Qt for Mac OS X. - - \section2 HP-UX - - The hpux-g++ platform is tested with GCC 3.4.4. - - \section2 Solaris - - Please use GCC 3.4.2 or later. - Please not that WebKit is not supported for Solaris, regardless of which compiler is used. - - \section2 Mac OS X - - Please use the latest GCC 3.3 from Apple or a later version of GCC 3. - The gcc 3.3 that is provided with Xcode 1.5 is known to generate bad code. - Use the November 2004 GCC 3.3 updater \l{http://connect.apple.com}{available from Apple}. - - \section2 GCC 3.4.6 (Debian 3.4.6-5) on AMD64 (x86_64) - - This compiler is known to miscompile some parts of Qt when doing a - release build. There are several workarounds: - - \list 1 - \o Use a debug build instead. - \o For each miscompilation encountered, recompile the file, removing the -O2 option. - \o Add -fno-gcse to the QMAKE_CXXFLAGS_RELEASE. - \endlist - - \section1 HP ANSI C++ (aCC) - - The hpux-acc-32 and hpux-acc-64 platforms are tested with aCC A.03.57. The - hpuxi-acc-32 and hpuxi-acc-64 platforms are tested with aCC A.06.10. - - \section1 Intel C++ Compiler - - Qt supports the Intel C++ compiler on both Windows and Linux. - However, there are a few issues on Linux (see the following - section). - - \section2 Intel C++ Compiler for Linux - - Nokia currently tests the following compilers: - - \list - - \o Intel(R) C++ Compiler for applications running on IA-32, - Version 10.1 Build 20080602 Package ID: l_cc_p_10.1.017 - - \o Intel(R) C++ Compiler for applications running on Intel(R) 64, - Version 10.1 Build 20080602 Package ID: l_cc_p_10.1.017 - - \endlist - - We do not currently test the IA-64 (Itanium) compiler. - - \section2 Known Issues with Intel C++ Compiler for Linux - - \list - - \o Precompiled header support does not work in version 10.0.025 - and older. For these compilers, you should configure Qt with - -no-pch. Precompiled header support works properly in version - 10.0.026 and later. - \o Version 10.0.026 for Intel 64 is known to miscompile qmake when - building in release mode. For now, configure Qt with - -debug. Version 10.1.008 and later can compile qmake in release - mode. - \o Versions 10.1.008 to 10.1.015 for both IA-32 and Intel 64 are - known crash with "(0): internal error: 0_47021" when compiling - QtXmlPatterns, QtWebKit, and Designer in release mode. Version - 10.1.017 compiles these modules correctly in release mode. - \endlist - - \section2 Intel C++ Compiler (Windows, Altix) - - Qt 4 has been tested successfully with: - - \list - \o Windows - Intel(R) C++ Compiler for 32-bit applications, - Version 9.1.040. - \o Altix - Intel(R) C++ Itanium(R) Compiler for Itanium(R)-based - applications Version 8.1 Build 20050406 Package ID: l_cc_pc_8.1.030 - \endlist - - We currently only test the Intel compiler on 32-bit Windows versions. - - \section1 MIPSpro (IRIX) - - \bold{IRIX is an unsupported platform. See the \l{Supported Platforms} page - and Qt's Software's online \l{Platform Support Policy} page for details.} - - Qt 4.4.x requires MIPSpro version 7.4.2m. - - Note that MIPSpro version 7.4.4m is currently not supported, since it has - introduced a number of problems that have not yet been resolved. - We recommend using 7.4.2m for Qt development. However, please note the - unsupported status of this platform. - - \target Sun Studio - \section1 Forte Developer / Sun Studio (Solaris) - - \section2 Sun Studio - - Qt is tested using Sun Studio 12 (Sun CC 5.9). Go to - \l{Sun Studio Patches} page on Sun's Web site to download - the latest patches for your Sun compiler. - - Please note that Qt 4.6 is stricter in its STL requirements and - that the default STL implementation used by Sun CC does not pass - those requirements. This does not affect binary compatibility and - you can continue to use STL in your own code, but Qt's - STL-compatibility functions will be disabled. - - Sun CC ships with a secondary STL implementation (called stlport4) - which is standards-compliant and can be used by Qt. You can enable - it by passing the -library=stlport4 option to the compiler. Note - that this does not affect Qt's binary compatibility, but it may - affect that of other libraries and programs that use STL. - - \section2 Sun WorkShop 5.0 - - Sun WorkShop 5.0 is not supported with Qt 4. - - \section1 Visual Studio (Windows) - - We do most of our Windows development on Windows XP, using Microsoft - Visual Studio .NET 2005 and Visual Studio 2008 (both the 32- and 64-bit - versions). - - Qt works with the Standard Edition, the Professional Edition and Team - System Edition of Visual Studio 2005. - - In order to use Qt with the Visual Studio 2005/2008 Express Edition you need - to download and install the platform SDK. Due to limitations in the - Express Edition it is not possible for us to install the Qt Visual - Studio Integration. You will need to use our command line tools to - build Qt applications with this edition. - - The Visual C++ Linker doesn't understand filenames with spaces (as in - \c{C:\Program files\Qt\}) so you will have to move it to another place, - or explicitly set the path yourself; for example: - - \snippet doc/src/snippets/code/doc_src_compiler-notes.qdoc 0 - - If you are experiencing strange problems with using special flags that - modify the alignment of structure and union members (such as \c{/Zp2}) - then you will need to recompile Qt with the flags set for the - application as well. - - If you're using Visual Studio .NET (2002) Standard Edition, you should be - using the Qt binary package provided, and not the source package. - As the Standard Edition does not optimize compiled code, your compiled - version of Qt would perform suboptimally with respect to speed. - - With Visual Studio 2005 Service Pack 1 a bug was introduced which - causes Qt not to compile, this has been fixed with a hotfix available - from Microsoft. See this - \l{http://qt.nokia.com/developer/faqs/faq.2006-12-18.3281869860}{Knowledge Base entry} - for more information. - - There currently is a problem when compiling Qt with Visual Studio 2010 for 64-bit. - Its optimizer causes trouble and generates code that crashes for the release builds. - To avoid the crashes, You need to apply the hotfix in the following article - http://support.microsoft.com/kb/2280741. - - \section1 IBM xlC (AIX) - - The makeC++SharedLib utility must be in your PATH and be up to date to - build shared libraries. From IBM's - \l{http://www.redbooks.ibm.com/abstracts/sg245674.html}{C and C++ Application Development on AIX} - Redbook: - - \list - \o "The second step is to use the makeC++SharedLib command to create the - shared object. The command has many optional arguments, but in its - simplest form, can be used as follows:" - \snippet doc/src/snippets/code/doc_src_compiler-notes.qdoc 1 - \o "The full path name to the command is not required; however, to avoid - this, you will have to add the directory in which it is located to - your PATH environment variable. The command is located in the - /usr/vacpp/bin directory with the VisualAge C++ Professional for AIX, - Version 5 compiler." - \endlist - - \section2 VisualAge C++ for AIX, Version 6.0 - - Make sure you have the - \l{http://www-1.ibm.com/support/search.wss?rs=32&tc=SSEP5D&dc=D400}{latest upgrades} - installed. - - \section2 GCCE (Symbian) - - GCCE cannot be used to compile Qt libaries for the Symbian platform, but GCCE is supported - when compiling Qt applications for Symbian platform. */ diff --git a/doc/src/platforms/emb-deployment.qdoc b/doc/src/platforms/emb-deployment.qdoc index 6b22ba4..9a36097 100644 --- a/doc/src/platforms/emb-deployment.qdoc +++ b/doc/src/platforms/emb-deployment.qdoc @@ -58,7 +58,7 @@ directory relative to the path set using the \c -prefix parameter when running the \c configure script; ensure that this is a sensible path in the target device environment. See the - \l {Installing Qt on Embedded Linux#Step 3: Building the + \l {Installing Qt for Embedded Linux#Step 3: Building the Library}{installation} documentation for more details. \section1 Environment Variables diff --git a/doc/src/platforms/emb-hardwareacceleration.qdocinc b/doc/src/platforms/emb-hardwareacceleration.qdocinc index fb00e09..83ecef5 100644 --- a/doc/src/platforms/emb-hardwareacceleration.qdocinc +++ b/doc/src/platforms/emb-hardwareacceleration.qdocinc @@ -1,140 +1,140 @@ - \section1 Hardware Acceleration - - When designing applications for embedded devices there is often a - compromise between graphics effects and performance. On most - devices, you cannot have both simply because the hardware needed - for such operations just is not there. With a growing number of - devices that use hardware dedicated to graphics operations there is - less need to compromise. - - In addition to enabling dynamic graphics effects, there are two - other benefits to using graphics acceleration. One is that graphics - acceleration hardware is more power efficient than using the CPU. - The reason for this is that the CPU might require a clock speed - that is up to 20 times higher than the GPU, achieving the same - results. E.g. a typical hardware accelerated mobile graphics unit - can rasterize one or two bilinear texture fetches in one cycle, - while a software implementation takes easily more than 20 cycles. - Typical \e {System-on-a-chip} (SoC) graphics hardware generally have - a much lower clock speed and memory bandwidth, and different level - of acceleration than desktop GPUs. One example is that many GPUs - leave out transformation and lighting from the graphics pipeline - and only implements rasterization. - - Another reason to use a GPU is to offload the main CPU, either for - power saving or to perform other operations in parallel. Often - drawing speed with a GPU is not that much faster than a CPU but - the clear benefit of using the GPU is to free up the CPU to perform - other tasks which can be used to create a more responsive use - experience. - - The key to writing good applications for devices is therefore to - limit the wow factor down to what the target hardware can handle, - and to take advantage of any graphics dedicated hardware. Qt - provides several ways to both render advanced effects on the screen - and speed up your application using hardware accelerated graphics. - - \tableofcontents - - \section2 Qt for Embedded Graphics pipeline - - Qt uses QPainter for all graphics operations. By using the same API - regardless of platform, the code can be reused on different devices. - QPainter use different paint engines implemented in the QPaintEngine API to - do the actual painting. - - The QPaintEngine API provides paint engines for each window system and - painting framework supported by Qt. In regards to Qt for Embedded, this - also includes implementations for OpenGL ES versions 1.1 and 2.0, as well - as OpenVG and DirectFB(Embedded Linux only). - - By using one of these paint engines, you will be able to improve the - graphics performance of your Qt application. However, if the graphics - operations used are not supported, this might as well be a trap, slowing - down your application significantly. This all depends on what kind of - graphics operations that are supported by the target devices hardware - configuration. - - \image platformHWAcc.png - - The paint engine will direct all graphics operations supported by the - devices hardware to the GPU, and from there they are sent to the - framebuffer. Unsupported graphics operations falls back to the - QRasterPaintEngine and are handled by the CPU before sent to the - framebuffer. In the end, the operating system sends the paint updates off - to the screen/display. The fallback operation is quite expensive in regards - to memory consumption, and should be avoided. - - \section2 Hardware configuration requirements - - Before implementing any application using hardware acceleration, it is wise - to get an overview of what kind of hardware accelerated graphics operations - that are available for the target device. - - \note On devices with no hardware acceleration, Qt will use - QRasterPaintEngine, which handles the acceleration using software. On - devices supporting OpenGL ES, OpenVG or DirectFB(not supported by Windows - CE), Qt will use the - respective paint engines to accelerate painting. However, hardware - configurations that only support a limited set of hardware acceleration - features, might slow the application graphics down rather than speeding it - up when using unsupported operations that must fall back to the raster - engine. - - \section3 Different architectures - - Based on the architecture used in a device we can make a recommendation on - which hardware acceleration techniques to use. There are mainly two - different architectures on embedded devices. These are devices with a - Unified Memory Architecture (UMA), and devices with dedicated graphics - memory. Generally, high-end devices will have dedicated graphics memory. - Low-end devices will just use system memory, sometimes reserving a memory - region and sometimes not. - - In addition to this, we can categorize the devices into five types based on - the different graphics operations supported by their hardware. - - \list 1 - \o No support for graphics acceleration. - \o Support for blitter and alpha blending. - \o Support for path based 2D vector graphics. - \o Support for fixed function 3D graphics. - \o Support for programmable 3D graphics. - \endlist - - Based on these characteristics the table below recommends which paint - engines to use with the different types of hardware configurations. - - \section3 Recommended use of hardware acceleration based on hardware - - \table - \header - \o Type - \o UMA - \o Non-UMA - \row - \o \bold {None} - \o Qt Raster Engine - \o Qt Raster Engine - \row - \o \bold {Blitter} - \o DirectFB - \o DirectFB - \row - \o \bold {2D Vector} - \o OpenVG - \o OpenVG - \row - \o \bold {Fixed 3D} - \o OpenGL (ES) 1.x - \o OpenGL (ES) 1.x - \row - \o \bold {Programmable 3D} - \o OpenGL (ES) 2.x - \o OpenGL (ES) 2.x - \endtable - - \note Since the DirectFB API is quite primitive, the raster paint engine - handles most of the operations. - - \note Blitter and Alpha blending is currently not supported on Windows CE. +\section1 Hardware Acceleration + +When designing applications for embedded devices there is often a +compromise between graphics effects and performance. On most +devices, you cannot have both simply because the hardware needed +for such operations just is not there. With a growing number of +devices that use hardware dedicated to graphics operations there is +less need to compromise. + +In addition to enabling dynamic graphics effects, there are two +other benefits to using graphics acceleration. One is that graphics +acceleration hardware is more power efficient than using the CPU. +The reason for this is that the CPU might require a clock speed +that is up to 20 times higher than the GPU, achieving the same +results. E.g. a typical hardware accelerated mobile graphics unit +can rasterize one or two bilinear texture fetches in one cycle, +while a software implementation takes easily more than 20 cycles. +Typical \e {System-on-a-chip} (SoC) graphics hardware generally have +a much lower clock speed and memory bandwidth, and different level +of acceleration than desktop GPUs. One example is that many GPUs +leave out transformation and lighting from the graphics pipeline +and only implements rasterization. + +Another reason to use a GPU is to offload the main CPU, either for +power saving or to perform other operations in parallel. Often +drawing speed with a GPU is not that much faster than a CPU but +the clear benefit of using the GPU is to free up the CPU to perform +other tasks which can be used to create a more responsive use +experience. + +The key to writing good applications for devices is therefore to +limit the wow factor down to what the target hardware can handle, +and to take advantage of any graphics dedicated hardware. Qt +provides several ways to both render advanced effects on the screen +and speed up your application using hardware accelerated graphics. + +\tableofcontents + +\section2 Qt for Embedded Graphics pipeline + +Qt uses QPainter for all graphics operations. By using the same API +regardless of platform, the code can be reused on different devices. +QPainter use different paint engines implemented in the QPaintEngine API to +do the actual painting. + +The QPaintEngine API provides paint engines for each window system and +painting framework supported by Qt. In regards to Qt for Embedded, this +also includes implementations for OpenGL ES versions 1.1 and 2.0, as well +as OpenVG and DirectFB(Embedded Linux only). + +By using one of these paint engines, you will be able to improve the +graphics performance of your Qt application. However, if the graphics +operations used are not supported, this might as well be a trap, slowing +down your application significantly. This all depends on what kind of +graphics operations that are supported by the target devices hardware +configuration. + +\image platformHWAcc.png + +The paint engine will direct all graphics operations supported by the +devices hardware to the GPU, and from there they are sent to the +framebuffer. Unsupported graphics operations falls back to the +QRasterPaintEngine and are handled by the CPU before sent to the +framebuffer. In the end, the operating system sends the paint updates off +to the screen/display. The fallback operation is quite expensive in regards +to memory consumption, and should be avoided. + +\section2 Hardware configuration requirements + +Before implementing any application using hardware acceleration, it is wise +to get an overview of what kind of hardware accelerated graphics operations +that are available for the target device. + +\note On devices with no hardware acceleration, Qt will use +QRasterPaintEngine, which handles the acceleration using software. On +devices supporting OpenGL ES, OpenVG or DirectFB(not supported by Windows +CE), Qt will use the +respective paint engines to accelerate painting. However, hardware +configurations that only support a limited set of hardware acceleration +features, might slow the application graphics down rather than speeding it +up when using unsupported operations that must fall back to the raster +engine. + +\section3 Different architectures + +Based on the architecture used in a device we can make a recommendation on +which hardware acceleration techniques to use. There are mainly two +different architectures on embedded devices. These are devices with a +Unified Memory Architecture (UMA), and devices with dedicated graphics +memory. Generally, high-end devices will have dedicated graphics memory. +Low-end devices will just use system memory, sometimes reserving a memory +region and sometimes not. + +In addition to this, we can categorize the devices into five types based on +the different graphics operations supported by their hardware. + +\list 1 + \o No support for graphics acceleration. + \o Support for blitter and alpha blending. + \o Support for path based 2D vector graphics. + \o Support for fixed function 3D graphics. + \o Support for programmable 3D graphics. +\endlist + +Based on these characteristics the table below recommends which paint +engines to use with the different types of hardware configurations. + +\section3 Recommended use of hardware acceleration based on hardware + +\table + \header + \o Type + \o UMA + \o Non-UMA + \row + \o \bold {None} + \o Qt Raster Engine + \o Qt Raster Engine + \row + \o \bold {Blitter} + \o DirectFB + \o DirectFB + \row + \o \bold {2D Vector} + \o OpenVG + \o OpenVG + \row + \o \bold {Fixed 3D} + \o OpenGL (ES) 1.x + \o OpenGL (ES) 1.x + \row + \o \bold {Programmable 3D} + \o OpenGL (ES) 2.x + \o OpenGL (ES) 2.x +\endtable + +\note Since the DirectFB API is quite primitive, the raster paint engine +handles most of the operations. + +\note Blitter and Alpha blending is currently not supported on Windows CE. diff --git a/doc/src/platforms/emb-install.qdoc b/doc/src/platforms/emb-install.qdoc index 11392b4..b5b408a 100644 --- a/doc/src/platforms/emb-install.qdoc +++ b/doc/src/platforms/emb-install.qdoc @@ -28,10 +28,10 @@ /*! \page qt-embedded-install.html - \title Installing Qt on Embedded Linux + \title Installing Qt for Embedded Linux \ingroup qt-embedded-linux \ingroup installation - \brief How to install Qt on Embedded Linux. + \brief How to install Qt for Embedded Linux. This document describes how to install \l{Qt for Embedded Linux} in your development environment: @@ -152,7 +152,7 @@ \endlist Note that the virtual framebuffer requires a Qt for X11 - installation. See \l {Installing Qt on X11 Platforms} for details. + installation. See \l {Installing Qt for X11 Platforms} for details. The Linux framebuffer, on the other hand, is enabled by default on all modern Linux distributions. For information on older versions, diff --git a/doc/src/platforms/emb-qvfb.qdoc b/doc/src/platforms/emb-qvfb.qdoc index 4be2f64..418d2d2 100644 --- a/doc/src/platforms/emb-qvfb.qdoc +++ b/doc/src/platforms/emb-qvfb.qdoc @@ -40,8 +40,8 @@ QVFb is an X11 application supplied with Qt for X11 that provides a virtual framebuffer for Qt for Embedded Linux to use. To use it, - you need to \l{Installing Qt on X11 Platforms}{configure and - install Qt on X11 platforms} appropriately. Further requirements + you need to \l{Installing Qt for X11 Platforms}{configure and + install Qt for X11 platforms} appropriately. Further requirements can be found in the \l{Qt for Embedded Linux Requirements} document. diff --git a/doc/src/platforms/emb-running.qdoc b/doc/src/platforms/emb-running.qdoc index 269f4f3..12222a6 100644 --- a/doc/src/platforms/emb-running.qdoc +++ b/doc/src/platforms/emb-running.qdoc @@ -63,7 +63,7 @@ \row \o Provided that the environment variables are adjusted properly - during the \l {Installing Qt on Embedded Linux}{installation process}, you + during the \l {Installing Qt for Embedded Linux}{installation process}, you should see the \l {Text Edit} demo appear. It might be that the hardware drivers must be specified explicitly diff --git a/doc/src/platforms/mac-differences.qdoc b/doc/src/platforms/mac-differences.qdoc index dfcecca..8436043 100644 --- a/doc/src/platforms/mac-differences.qdoc +++ b/doc/src/platforms/mac-differences.qdoc @@ -32,7 +32,7 @@ \ingroup platform-specific This file outlines known issues and possible workarounds when - using Qt on Mac OS X. Contact Qt's technical support team if you find + using Qt for Mac OS X. Contact Qt's technical support team if you find additional issues which are not covered here. (See also the document \l{qtmac-as-native.html} {Qt is Mac OS X Native}.) diff --git a/doc/src/platforms/platform-notes-rtos.qdoc b/doc/src/platforms/platform-notes-rtos.qdoc index 4a34ece..8c30701 100644 --- a/doc/src/platforms/platform-notes-rtos.qdoc +++ b/doc/src/platforms/platform-notes-rtos.qdoc @@ -27,8 +27,8 @@ /*! \page platform-notes-vxworks.html - \title Platform Notes - VxWorks - \contentspage Platform Notes + \title Platform and Compiler Notes - VxWorks + \contentspage Platform and Compiler Notes \target VxWorks \note VxWorks is a community supported platform. See the @@ -143,8 +143,8 @@ /*! \page platform-notes-qnx.html - \title Platform Notes - QNX - \contentspage Platform Notes + \title Platform and Compiler Notes - QNX + \contentspage Platform and Compiler Notes \target QNX \note QNX is a community supported platform. See the diff --git a/doc/src/platforms/platform-notes.qdoc b/doc/src/platforms/platform-notes.qdoc index dff1b5b..dbedc1d 100644 --- a/doc/src/platforms/platform-notes.qdoc +++ b/doc/src/platforms/platform-notes.qdoc @@ -39,35 +39,91 @@ /*! \page platform-notes.html \ingroup platform-specific - \title Platform Notes + \title Platform and Compiler Notes \brief Information about the platforms on which Qt can be used. This page contains information about the platforms Qt is currently known to run on, with links to platform-specific notes, including any known bugs or incompatibilities. + Information about the combinations of platforms and compilers + supported by Qt can be found on the \l{Supported Platforms} page. + \list - \o \l{Platform Notes - X11} - \tableofcontents{1 Platform Notes - X11} - \o \l{Platform Notes - Windows} - \tableofcontents{1 Platform Notes - Windows} - \o \l{Platform Notes - Mac OS X} - \tableofcontents{1 Platform Notes - Mac OS X} - \o \l{Platform Notes - Symbian} - \tableofcontents{1 Platform Notes - Symbian} - \o \l{Platform Notes - Embedded Linux} - \tableofcontents{1 Platform Notes - Embedded Linux} - \o \l{Platform Notes - Windows CE} - \tableofcontents{1 Platform Notes - Windows CE} - \o \l{Platform Notes - QNX} - \tableofcontents{1 Platform Notes - QNX} - \o \l{Platform Notes - VxWorks} - \tableofcontents{1 Platform Notes - VxWorks} + \o \l{Platform and Compiler Notes - X11} + \tableofcontents{1 Platform and Compiler Notes - X11} + \o \l{Platform and Compiler Notes - Windows} + \tableofcontents{1 Platform and Compiler Notes - Windows} + \o \l{Platform and Compiler Notes - Mac OS X} + \tableofcontents{1 Platform and Compiler Notes - Mac OS X} + \o \l{Platform and Compiler Notes - Symbian} + \tableofcontents{1 Platform and Compiler Notes - Symbian} + \o \l{Platform and Compiler Notes - Embedded Linux} + \tableofcontents{1 Platform and Compiler Notes - Embedded Linux} + \o \l{Platform and Compiler Notes - Windows CE} + \tableofcontents{1 Platform and Compiler Notes - Windows CE} + \o \l{Platform and Compiler Notes - QNX} + \tableofcontents{1 Platform and Compiler Notes - QNX} + \o \l{Platform and Compiler Notes - VxWorks} + \tableofcontents{1 Platform and Compiler Notes - VxWorks} \endlist - See also the \l{Compiler Notes} for information about compiler-specific - build issues. Information about the combinations of platforms and compilers - supported by Qt can be found on the \l{Supported Platforms} page. + \section1 General Compiler Notes + + \section2 Supported Features + + Not all compilers used to build Qt are able to compile all modules. The following table + shows the compiler support for five modules that are not uniformly available for all + platforms and compilers. + + \table + \header \o Compiler \o{5,1} Features + \header \o \o Concurrent \o XmlPatterns \o WebKit(*) \o CLucene \o Phonon + \row \o g++ 3.3 \o \o \bold{X} \o \o \bold{X} \o \bold{X} + \row \o g++ 3.4 and up \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} + \row + \row \o SunCC 5.5 \o \o \o \o \bold{X} \o \bold{X} + \row + \row \o aCC series 3 \o \o \o \o \bold{X} \o \bold{X} + \row \o aCC series 6 \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} + \row \o xlC 6 \o \o \o \o \bold{X} \o \bold{X} + \row \o Intel CC 10 \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} + \row + \row \o MSVC 2003 \o \bold{X} \o \bold{X} \o \o \bold{X} \o \bold{X} + \row \o MSVC 2005 and up \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} + \endtable + + * WebKit is only supported as a dynamically built library. Static linkage is not supported. + + \section2 GCC 3.4.6 (Debian 3.4.6-5) on AMD64 (x86_64) + + This compiler is known to miscompile some parts of Qt when doing a + release build. There are several workarounds: + + \list 1 + \o Use a debug build instead. + \o For each miscompilation encountered, recompile the file, removing the \c{-O2} option. + \o Add \c{-fno-gcse} to the + \l{qmake Variable Reference#QMAKE_CXXFLAGS_RELEASE}{QMAKE_CXXFLAGS_RELEASE} qmake + variable. + \endlist + + \section2 GCC 4.0.0 + + The released package of the compiler has some bugs that lead to + miscompilations. We recommend using GCC 4.0.1 or later, or to use + a recent CVS snapshot of the GCC 4.0 branch. The version of GCC + 4.0.0 that is shipped with Mac OS X 10.4 "Tiger" is known to work + with Qt for Mac OS X. + + \section2 Intel C++ Compiler + + Qt supports the Intel C++ compiler on both Windows and Linux. + However, there are a few issues on Linux; see + \l{Platform and Compiler Notes - X11#Intel C++ Compiler for Linux}{Intel C++ Compiler for Linux} + for details. + + \section1 Feedback and Corrections If you have anything to add to this list or any of the platform or compiler-specific pages, please submit it via the \l{Bug Report Form} @@ -76,8 +132,8 @@ /*! \page platform-notes-x11.html - \title Platform Notes - X11 - \contentspage Platform Notes + \title Platform and Compiler Notes - X11 + \contentspage Platform and Compiler Notes This page contains information about the X11 platforms Qt is currently known to run on, with links to platform-specific notes. More information @@ -89,8 +145,7 @@ \target AIX \section1 AIX - 5.2 - Qt has been tested on AIX 5.2, using the - \l{Compiler Notes#IBM xlC (AIX)}{xlC} compiler. + Qt has been tested on AIX 5.2, using the xlC compiler. \table \header \o Compiler \o Notes @@ -113,13 +168,38 @@ either \c{-no-stl} or \c{-no-largefile}. \endtable + \section2 IBM xlC + + The makeC++SharedLib utility must be in your PATH and be up to date to + build shared libraries. From IBM's + \l{http://www.redbooks.ibm.com/abstracts/sg245674.html}{C and C++ Application Development on AIX} + Redbook: + + \list + \o "The second step is to use the makeC++SharedLib command to create the + shared object. The command has many optional arguments, but in its + simplest form, can be used as follows:" + \snippet doc/src/snippets/code/doc_src_compiler-notes.qdoc 1 + \o "The full path name to the command is not required; however, to avoid + this, you will have to add the directory in which it is located to + your PATH environment variable. The command is located in the + /usr/vacpp/bin directory with the VisualAge C++ Professional for AIX, + Version 5 compiler." + \endlist + + \section2 VisualAge C++ for AIX, Version 6.0 + + Make sure you have the + \l{http://www-1.ibm.com/support/search.wss?rs=32&tc=SSEP5D&dc=D400}{latest upgrades} + installed. + \target FreeBSD \section1 FreeBSD - 6.0-RELEASE \note FreeBSD is a community supported platform. See the \l{Supported Platforms} page for more information. - The system compiler on FreeBSD 4.x is gcc 2.95.4, which is not + The system compiler on FreeBSD 4.x is GCC 2.95.4, which is not officially supported by Qt 4. We develop using and recommend ports/lang/gcc34. You will need to run configure with the \c{-platform freebsd-g++34} arguments. Optionally, you may use @@ -132,7 +212,6 @@ Note that we do not actively test FreeBSD 4.x and 5.x. Our developers migrated to 6.x after the Qt 4 launch. FreeBSD-CURRENT is not supported. - \target HP-UX \section1 HP-UX Qt supports HP-UX on both PA-RISC and the Itanium (IA64) architectures. @@ -140,17 +219,26 @@ \section2 PA-RISC - B.11.11 or later You can configure Qt for aCC in 32 and 64 bit mode (hpux-acc-64 or - hpux-acc-32), or gcc in 32 bit mode (hpux-g++). The default platform is + hpux-acc-32), or GCC in 32 bit mode (hpux-g++). The default platform is hpux-acc-32. The minimum required version for aCC (HP ANSI C++) on PA-RISC - is A.03.57. The supported gcc compiler is gcc 3.4.3. + is A.03.57. The supported GCC compiler is GCC 3.4.3. \section2 Itanium - B.11.23 or later You can configure Qt for aCC in 32 and 64 bit mode (hpuxi-acc-64 or - hpuxi-acc-32). gcc is currently unsupported. The default platform is + hpuxi-acc-32). GCC is currently unsupported. The default platform is hpuxi-acc-64. The minimum required version for aCC (HP ANSI C++) on Itanium is A.06.12. + \section2 HP ANSI C++ (aCC) + + The hpux-acc-32 and hpux-acc-64 platforms are tested with aCC A.03.57. The + hpuxi-acc-32 and hpuxi-acc-64 platforms are tested with aCC A.06.10. + + \section2 GCC + + The hpux-g++ platform is tested with GCC 3.4.4. + \section2 OpenGL Support Qt's \l{QtOpenGL}{OpenGL} module requires GLX 1.3 or later to be installed. @@ -161,20 +249,29 @@ \target IRIX \section1 IRIX - 6.5.x - \bold{IRIX is an unsupported platform - please see Qt's online - \l{Platform Support Policy} for details.} + \bold{IRIX is an unsupported platform. See the \l{Supported Platforms} page + and Qt's Software's online \l{Platform Support Policy} page for details.} Unpackaging and IRIX tar: Because of long filenames some files will be cut off incorrectly with IRIX tar. Please use GNU tar to unpack Qt packages. + \section2 MIPSpro + + Qt 4.4.x requires MIPSpro version 7.4.2m. + + Note that MIPSpro version 7.4.4m is currently not supported, since it has + introduced a number of problems that have not yet been resolved. + We recommend using 7.4.2m for Qt development. However, please note the + unsupported status of this platform. + \section1 Linux There are no known problems with using Qt on production versions of Linux/x86, Linux/ppc, Linux/amd64 and Linux/ia64 (including Altix(R)). - For the gcc/g++ compiler, please also see the relevant - \l{Compiler Notes#GCC}{compiler page}. + For the GCC compiler, please also see the relevant + \l{Platform and Compiler Notes#General Compiler Notes}{General Compiler Notes}. \section2 Installation problems @@ -198,6 +295,40 @@ "Failed Dependency". Use the \c{--nodeps} option to \c rpm to workaround this problem. + \section2 Intel C++ Compiler for Linux + + Nokia currently tests the following compilers: + + \list + + \o Intel(R) C++ Compiler for applications running on IA-32, + Version 10.1 Build 20080602 Package ID: l_cc_p_10.1.017 + + \o Intel(R) C++ Compiler for applications running on Intel(R) 64, + Version 10.1 Build 20080602 Package ID: l_cc_p_10.1.017 + + \endlist + + We do not currently test the IA-64 (Itanium) compiler. + + \section2 Known Issues with Intel C++ Compiler for Linux + + \list + + \o Precompiled header support does not work in version 10.0.025 + and older. For these compilers, you should configure Qt with + -no-pch. Precompiled header support works properly in version + 10.0.026 and later. + \o Version 10.0.026 for Intel 64 is known to miscompile qmake when + building in release mode. For now, configure Qt with + -debug. Version 10.1.008 and later can compile qmake in release + mode. + \o Versions 10.1.008 to 10.1.015 for both IA-32 and Intel 64 are + known crash with "(0): internal error: 0_47021" when compiling + QtXmlPatterns, QtWebKit, and Designer in release mode. Version + 10.1.017 compiles these modules correctly in release mode. + \endlist + \target Solaris \section1 Solaris - 9 or later @@ -207,25 +338,50 @@ to truncate long filenames. We recommend using star instead (http://star.berlios.de). - \section2 CC on Solaris + Please note that WebKit is not supported for Solaris, regardless of + which compiler is used. + + \section2 CC - Be sure to check our \l{Compiler Notes#Sun Studio}{Forte Developer / Sun Studio} - notes. + See the notes for \l{Forte Developer / Sun Studio}. - \section2 GCC on Solaris + \section2 GCC + + Please use GCC 3.4.2 or later. - Be sure to check the installation notes for \l{GCC on Solaris}. Do not use GCC with Sun's assembler/linker, this will result in link-time errors in shared libraries. Use GNU binutils instead. GCC 3.2.* is known to miscompile Qt due to an optimizer bug that will - cause the resulting binaries to hang. Please use GCC 3.4.2 or later. + cause the resulting binaries to hang. + + \section2 Forte Developer / Sun Studio + + Qt is tested using Sun Studio 12 (Sun CC 5.9). Go to + \l{Sun Studio Patches} page on Sun's Web site to download + the latest patches for your Sun compiler. + + Please note that Qt 4.6 is stricter in its STL requirements and + that the default STL implementation used by Sun CC does not pass + those requirements. This does not affect binary compatibility and + you can continue to use STL in your own code, but Qt's + STL-compatibility functions will be disabled. + + Sun CC ships with a secondary STL implementation (called stlport4) + which is standards-compliant and can be used by Qt. You can enable + it by passing the -library=stlport4 option to the compiler. Note + that this does not affect Qt's binary compatibility, but it may + affect that of other libraries and programs that use STL. + + \section2 Sun WorkShop 5.0 + + Sun WorkShop 5.0 is not supported with Qt 4. */ /*! \page platform-notes-windows.html - \title Platform Notes - Windows - \contentspage Platform Notes + \title Platform and Compiler Notes - Windows + \contentspage Platform and Compiler Notes This page contains information about the Windows platforms Qt is currently known to run on, with links to platform-specific notes. More information @@ -255,12 +411,87 @@ and other applications that require screen grabbing while direct rendering is enabled. Other GL-applications may not work as expected, unless direct rendering is disabled. + + \section2 GCC (MinGW) + + We have tested Qt with this compiler on Windows XP. + The minimal version of MinGW supported is GCC 4.4. + + \note For users of the MinGW binary package: This package is now + based on MinGW 4.4. The installer no longer offers to download + MinGW for you, but rather offers to use a version of MinGW that + you already have installed on your machine. You just tell the + installer which directory MinGW is installed in. If you don't + already have MinGW 4.4 installed, you can download a .zip archive + from our \l{ftp://ftp.trolltech.com/misc/MinGW-gcc440_1.zip}{FTP + site}. This archive provides fixes to MinGW and support for + missing API, See the _patches directory in the archive for + details. + + \note A MinGW installation is only needed to build against the + binary pacakge, not to run the pre-compiled binaries that are in + the package. + + \section2 Intel C++ Compiler (Windows, Altix) + + Qt 4 has been tested successfully with: + + \list + \o Windows - Intel(R) C++ Compiler for 32-bit applications, + Version 9.1.040. + \o Altix - Intel(R) C++ Itanium(R) Compiler for Itanium(R)-based + applications Version 8.1 Build 20050406 Package ID: l_cc_pc_8.1.030 + \endlist + + We currently only test the Intel compiler on 32-bit Windows versions. + + \section2 Visual Studio (Windows) + + We do most of our Windows development on Windows XP, using Microsoft + Visual Studio .NET 2005 and Visual Studio 2008 (both the 32- and 64-bit + versions). + + Qt works with the Standard Edition, the Professional Edition and Team + System Edition of Visual Studio 2005. + + In order to use Qt with the Visual Studio 2005/2008 Express Edition you need + to download and install the platform SDK. Due to limitations in the + Express Edition it is not possible for us to install the Qt Visual + Studio Integration. You will need to use our command line tools to + build Qt applications with this edition. + + The Visual C++ Linker doesn't understand filenames with spaces (as in + \c{C:\Program files\Qt\}) so you will have to move it to another place, + or explicitly set the path yourself; for example: + + \snippet doc/src/snippets/code/doc_src_compiler-notes.qdoc 0 + + If you are experiencing strange problems with using special flags that + modify the alignment of structure and union members (such as \c{/Zp2}) + then you will need to recompile Qt with the flags set for the + application as well. + + If you're using Visual Studio .NET (2002) Standard Edition, you should be + using the Qt binary package provided, and not the source package. + As the Standard Edition does not optimize compiled code, your compiled + version of Qt would perform suboptimally with respect to speed. + + With Visual Studio 2005 Service Pack 1 a bug was introduced which + causes Qt not to compile, this has been fixed with a hotfix available + from Microsoft. See this + \l{http://qt.nokia.com/developer/faqs/faq.2006-12-18.3281869860}{Knowledge Base entry} + for more information. + + There currently is a problem when compiling Qt with Visual Studio 2010 for 64-bit. + Its optimizer causes trouble and generates code that crashes for the release builds. + To avoid the crashes, You need to apply the hotfix in the following article + http://support.microsoft.com/kb/2280741. */ /*! \page platform-notes-mac.html - \title Platform Notes - Mac OS X - \contentspage Platform Notes + \title Platform and Compiler Notes - Mac OS X + \contentspage Platform and Compiler Notes This page contains information about the Mac OS X versions Qt is currently known to run on, with links to platform-specific notes. More information @@ -287,11 +518,15 @@ \section2 Required GCC version - Apple's gcc 4 that is shipped with the Xcode Tools for both Mac OS X 10.4 - and 10.5 will compile Qt. There is preliminary support for gcc 4.2 which + Apple's GCC 4 that is shipped with the Xcode Tools for both Mac OS X 10.4 + and 10.5 will compile Qt. There is preliminary support for GCC 4.2 which is included with Xcode Tools 3.1+ (configurable with \c{-platform macx-g++42}). + Please use the latest GCC 3.3 from Apple or a later version of GCC 3. + The GCC 3.3 that is provided with Xcode 1.5 is known to generate bad code. + Use the November 2004 GCC 3.3 updater \l{http://connect.apple.com}{available from Apple}. + \section2 Binary Package The binary package requires that you have your .qt-license file in your @@ -300,7 +535,7 @@ this file in the email they receive. The binary package was built on Mac OS X 10.4 with Xcode Tools 2.1 - (gcc 4.0.0) for Qt 4.1.0, Xcode Tools 2.2 (gcc 4.0.1) for Qt 4.1.1-4.1.4 + (GCC 4.0.0) for Qt 4.1.0, Xcode Tools 2.2 (GCC 4.0.1) for Qt 4.1.1-4.1.4 and Xcode Tools 2.3 for 4.2.0. It will only link executables built against 10.4 (or a 10.4 SDK). You should be able to run applications linked against these frameworks on Mac OS X 10.3.9 and Mac OS X 10.4+. @@ -374,8 +609,8 @@ /*! \page platform-notes-windows-ce.html - \title Platform Notes - Windows CE - \contentspage Platform Notes + \title Platform and Compiler Notes - Windows CE + \contentspage Platform and Compiler Notes This page contains information about the Windows CE and Windows Mobile platforms Qt is currently known to run on, with links to platform-specific @@ -385,8 +620,8 @@ /*! \page platform-notes-symbian.html - \title Platform Notes - Symbian - \contentspage Platform Notes + \title Platform and Compiler Notes - Symbian + \contentspage Platform and Compiler Notes \ingroup platform-specific \brief Information about the state of support for the Symbian platform. @@ -468,6 +703,13 @@ for Phonon. \endtable + \section1 Compiler Notes + + \section2 GCCE (Symbian) + + GCCE cannot be used to compile Qt libaries for the Symbian platform, but GCCE is supported + when compiling Qt applications for the Symbian platform. + \section1 Known Issues Known issues can be found by visiting the @@ -580,8 +822,8 @@ /*! \page platform-notes-embedded-linux.html - \title Platform Notes - Embedded Linux - \contentspage Platform Notes + \title Platform and Compiler Notes - Embedded Linux + \contentspage Platform and Compiler Notes This page contains information about the Embedded Linux platforms Qt is currently known to run on, with links to platform-specific notes. More diff --git a/doc/src/platforms/qt-embedded-linux.qdoc b/doc/src/platforms/qt-embedded-linux.qdoc index 553c4b1..cd20917 100644 --- a/doc/src/platforms/qt-embedded-linux.qdoc +++ b/doc/src/platforms/qt-embedded-linux.qdoc @@ -67,7 +67,7 @@ \o \list \o \l {Qt for Embedded Linux Architecture}{Architecture Overview} - \o \l {Installing Qt on Embedded Linux}{Installation} + \o \l {Installing Qt for Embedded Linux}{Installation} \o \l {Running Qt for Embedded Linux Applications}{Running Applications} \o \l {Qt for Embedded Linux Examples}{Examples} \endlist diff --git a/doc/src/platforms/supported-platforms.qdoc b/doc/src/platforms/supported-platforms.qdoc index 5218690..3a7d590 100644 --- a/doc/src/platforms/supported-platforms.qdoc +++ b/doc/src/platforms/supported-platforms.qdoc @@ -44,9 +44,8 @@ \tableofcontents - Information about the specific platforms Qt runs on can be found on the - \l{Platform Notes} page. Information about the compilers used on each platform - can be found on the \l{Compiler Notes} page. + Information about the specific platforms Qt runs on, and the compilers used + on each platform, can be found on the \l{Platform and Compiler Notes} page. \section1 Tier 1 Platforms diff --git a/doc/src/platforms/symbian-introduction.qdoc b/doc/src/platforms/symbian-introduction.qdoc index 8932747..7bc5303 100644 --- a/doc/src/platforms/symbian-introduction.qdoc +++ b/doc/src/platforms/symbian-introduction.qdoc @@ -29,7 +29,7 @@ \group qtsymbian \title Qt for the Symbian platform \ingroup qt-embedded - \brief Documents related to Qt on the Symbian platform + \brief Documents related to Qt for the Symbian platform Qt for Symbian is a C++ framework for GUI and application development for embedded devices running Symbian. Qt for Symbian provides all @@ -42,14 +42,14 @@ \o \list \o \l {Qt for the Symbian platform Requirements} - \o \l {Installing Qt on the Symbian platform from a Binary Package} - \o \l {Installing Qt on the Symbian platform} + \o \l {Installing Qt for the Symbian platform from a Binary Package} + \o \l {Installing Qt for the Symbian platform} \o \l {The Symbian platform - Introduction to Qt}{Introduction to using Qt} \endlist \o \list \o \l {Exception Safety with Symbian} - \o \l {Platform Notes - Symbian} {Qt for the Symbian platform - state of support} + \o \l {Platform and Compiler Notes - Symbian} {Qt for the Symbian platform - state of support} \o \l {qmake Platform Notes#Symbian platform} {Qt for Symbian extensions for qmake} \o \l {Symbian Platform Security Requirements} {Symbian Platform Security Requirements} \endlist @@ -93,10 +93,10 @@ \section1 Installing Qt and Running Demos - Follow the instructions found in \l{Installing Qt on the Symbian platform from a Binary Package} + Follow the instructions found in \l{Installing Qt for the Symbian platform from a Binary Package} to learn how to install Qt using a binary package and how to build and run Qt demos. - Follow the instructions found in \l{Installing Qt on the Symbian platform} to learn how to install Qt using + Follow the instructions found in \l{Installing Qt for the Symbian platform} to learn how to install Qt using using source package and how to build and run the Qt demos. \section1 Building Your Own Applications diff --git a/doc/src/platforms/wince-customization.qdoc b/doc/src/platforms/wince-customization.qdoc index a674350..b3b9170 100644 --- a/doc/src/platforms/wince-customization.qdoc +++ b/doc/src/platforms/wince-customization.qdoc @@ -33,7 +33,7 @@ When working with a custom SDK for Windows CE, Qt provides an easy way to add support for it to your development environment. The following is - a tutorial that covers how to create a specification for Qt on Windows + a tutorial that covers how to create a specification for Qt for Windows CE platforms. \tableofcontents diff --git a/doc/src/platforms/wince-introduction.qdoc b/doc/src/platforms/wince-introduction.qdoc index cd66242..2e9da59 100644 --- a/doc/src/platforms/wince-introduction.qdoc +++ b/doc/src/platforms/wince-introduction.qdoc @@ -29,7 +29,7 @@ \group qtce \title Qt for Windows CE \ingroup qt-embedded - \brief Documents related to Qt on Windows CE + \brief Documents related to Qt for Windows CE Qt for Windows CE is a C++ framework for GUI and application development for embedded devices running Windows CE. It runs on a variety of processors, @@ -41,7 +41,7 @@ \o \list \o \l {Qt for Windows CE Requirements} - \o \l {Installing Qt on Windows CE} + \o \l {Installing Qt for Windows CE} \o \l {Windows CE - Introduction to using Qt}{Introduction to using Qt} \endlist \o @@ -81,7 +81,7 @@ \section1 Installing Qt - Follow the instructions found in \l{Installing Qt on Windows CE}. + Follow the instructions found in \l{Installing Qt for Windows CE}. \section1 Building your own applications diff --git a/doc/src/platforms/winsystem.qdoc b/doc/src/platforms/winsystem.qdoc index 2919bb7..64e35c5 100644 --- a/doc/src/platforms/winsystem.qdoc +++ b/doc/src/platforms/winsystem.qdoc @@ -44,8 +44,8 @@ \tableofcontents For information about which platforms are supported by Qt, see the - \l{Platform Notes}. For information on distributing Qt applications, see - \l{Deploying Qt Applications}. + \l{Platform and Compiler Notes}. For information on distributing Qt + applications, see \l{Deploying Qt Applications}. \target x11 \section1 Qt for X11 diff --git a/doc/src/qt-webpages.qdoc b/doc/src/qt-webpages.qdoc index 9947d7b..05817df 100644 --- a/doc/src/qt-webpages.qdoc +++ b/doc/src/qt-webpages.qdoc @@ -46,8 +46,8 @@ */ /*! - \externalpage http://qt.nokia.com/products/add-on-products/add-on-products/ - \title Third-Party Tools + \externalpage http://qt.nokia.com/services-partners/partners/partner-directory + \title Partner Directory */ /*! diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc index 7d55f82..2384051 100644 --- a/doc/src/qt4-intro.qdoc +++ b/doc/src/qt4-intro.qdoc @@ -157,7 +157,7 @@ \l{QtUiTools}{dynamic user interface building}. \o New \l{Proxy Models}{proxy models} to enable view-specific sorting and filtering of data displayed using item views. - \o Support for \l{Installing Qt on Mac OS X}{universal binaries} on Mac OS X. + \o Support for \l{Installing Qt for Mac OS X}{universal binaries} on Mac OS X. \o Additional features for developers using \l{QtOpenGL}{OpenGL}, such as support for pixel and sample buffers. \o A flexible \l{QSyntaxHighlighter}{syntax highlighting class} based on the diff --git a/doc/src/sql-programming/sql-driver.qdoc b/doc/src/sql-programming/sql-driver.qdoc index 21b106a..9c99ad2 100644 --- a/doc/src/sql-programming/sql-driver.qdoc +++ b/doc/src/sql-programming/sql-driver.qdoc @@ -153,7 +153,7 @@ \snippet doc/src/snippets/code/doc_src_sql-driver.qdoc 3 - After installing Qt, as described in the \l{Installing Qt on X11 + After installing Qt, as described in the \l{Installing Qt for X11 Platforms} document, you also need to install the plugin in the standard location: @@ -478,7 +478,7 @@ \snippet doc/src/snippets/code/doc_src_sql-driver.qdoc 13 - After installing Qt, as described in the \l{Installing Qt on X11 Platforms} document, + After installing Qt, as described in the \l{Installing Qt for X11 Platforms} document, you also need to install the plugin in the standard location: \snippet doc/src/snippets/code/doc_src_sql-driver.qdoc 14 @@ -565,7 +565,7 @@ \snippet doc/src/snippets/code/doc_src_sql-driver.qdoc 18 - After installing Qt, as described in the \l{Installing Qt on X11 Platforms} document, + After installing Qt, as described in the \l{Installing Qt for X11 Platforms} document, you also need to install the plugin in the standard location: \snippet doc/src/snippets/code/doc_src_sql-driver.qdoc 19 @@ -638,7 +638,7 @@ \snippet doc/src/snippets/code/doc_src_sql-driver.qdoc 21 - After installing Qt, as described in the \l{Installing Qt on X11 Platforms} document, + After installing Qt, as described in the \l{Installing Qt for X11 Platforms} document, you also need to install the plugin in the standard location: \snippet doc/src/snippets/code/doc_src_sql-driver.qdoc 22 |