From 740b794259eb41845e7529371de3f3e20235f7b4 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Fri, 8 Oct 2010 20:11:27 +0200 Subject: Doc: Reorganized the platform and compiler notes pages. Errors and omissions will be fixed in later commits. The idea here is to merge the compiler notes into the platform notes because the platform is usually fixed and the compiler is often determined by the platform. In addition, notes about compilers are not always applicable to multiple platforms, so collating notes by compiler does not save much space, and it only makes maintenance of the notes more difficult. --- doc/src/bughowto.qdoc | 2 +- doc/src/development/developing-with-qt.qdoc | 6 +- doc/src/platforms/compiler-notes.qdoc | 269 +-------------------- doc/src/platforms/platform-notes-rtos.qdoc | 8 +- doc/src/platforms/platform-notes.qdoc | 346 +++++++++++++++++++++++----- doc/src/platforms/supported-platforms.qdoc | 5 +- doc/src/platforms/winsystem.qdoc | 4 +- 7 files changed, 311 insertions(+), 329 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/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/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/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/supported-platforms.qdoc b/doc/src/platforms/supported-platforms.qdoc index 31866c4..4918e18 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/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 -- cgit v0.12