summaryrefslogtreecommitdiffstats
path: root/doc/src/platform-notes.qdoc
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/platform-notes.qdoc')
-rw-r--r--doc/src/platform-notes.qdoc740
1 files changed, 740 insertions, 0 deletions
diff --git a/doc/src/platform-notes.qdoc b/doc/src/platform-notes.qdoc
new file mode 100644
index 0000000..d5eee27
--- /dev/null
+++ b/doc/src/platform-notes.qdoc
@@ -0,0 +1,740 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the either Technology Preview License Agreement or the
+** Beta Release License Agreement.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page platform-notes-platforms.html
+ \ingroup platform-notes
+ \title Platform 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.
+
+ \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 - Embedded Linux}
+ \tableofcontents{1 Platform Notes - Embedded Linux}
+ \o \l{Platform Notes - Windows CE}
+ \tableofcontents{1 Platform Notes - Windows CE}
+ \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.
+
+ 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}.
+*/
+
+/*!
+ \page platform-notes-x11.html
+ \title Platform Notes - X11
+ \contentspage Platform Notes
+
+ This page contains information about the X11 platforms Qt is currently
+ known to run on, with links to platform-specific notes. More information
+ about the combinations of platforms and compilers supported by Qt can be
+ found on the \l{Supported Platforms} page.
+
+ \tableofcontents
+
+ \target AIX
+ \section1 AIX - 5.2
+
+ Qt has been tested on AIX 5.2, using the
+ \l{Compiler Notes#IBM xlC (AIX)}{xlC} compiler.
+
+ \table
+ \header \o Compiler \o Notes
+ \row \o xlC
+ \o If Qt is built correctly but all symbols are reported to be missing
+ when you link an application, your makeC++SharedLib script might be out
+ of date. Make sure you have the latest version from the
+ \l{http://www-306.ibm.com/software/awdtools/vacpp/support/}{IBM website}.
+ \row \o GCC
+ \o We have tested earlier versions of Qt 4 successfully with GCC version
+ 3.3 and above. Some versions of GCC may fail to link Qt with a "TOC overflow"
+ message.
+ Fix this by upgrading to the latest maintenance release of the dynamic
+ linker. On AIX this is bos.rte.bind_cmds.4.1.5.3 or later.
+ Some versions of GCC may fail to build Qt with STL and large-file support
+ enabled, due to
+ \l{http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9551}{a bug in GCC}.
+ Fix this by upgrading to the latest maintenance release of the compiler.
+ It is also possible to work around this problem by running configure with
+ either \c{-no-stl} or \c{-no-largefile}.
+ \endtable
+
+ \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
+ 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
+ ports/lang/icc.
+
+ The system compiler on FreeBSD 5.x and 6.x is GCC 3.4.4, which should be
+ sufficient to build Qt. You do not need to add any special arguments when
+ running configure. Optionally, you may use ports/lang/icc.
+
+ 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.
+
+ \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. 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.
+
+ \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-64. The minimum required version for aCC (HP ANSI C++) on
+ Itanium is A.06.12.
+
+ \section2 OpenGL Support
+
+ Qt's \l{QtOpenGL}{OpenGL} module requires GLX 1.3 or later to be installed.
+ This is available for HP-UX 11i - see the
+ \l{http://docs.hp.com/en/5992-2331/ch04s02.html}{Graphics and Technical Computing Software}
+ section of the release notes for more information.
+
+ \target IRIX
+ \section1 IRIX - 6.5.x
+
+ \bold{IRIX is an unsupported platform - please see Qt Software's online
+ \l{Platform Support Policy} 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.
+
+ \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}.
+
+ \section2 Installation problems
+
+ See also the \l{Installation FAQ}.
+
+ If you experience problems when installing new open source versions of Qt
+ versions, try to use the open source Qt archives (e.g., RPM)
+ provided by your Linux distribution. If you need to install the source (.tgz)
+ archive, be aware that you will probably end up with two different
+ versions of the Qt library installed on your system, which will probably
+ lead to link errors, like this:
+ \snippet doc/src/snippets/code/doc_src_platform-notes.qdoc 0
+ Fix this by removing the old version of the library.
+
+ If you have problems installing open source versions of Qt
+ provided by your Linux distribution (e.g., RPM), please consult the
+ maintainers of the distribution, not us.
+
+ Some RPM versions have problems installing some of the Qt RPM archives
+ where installation stops with an error message warning about a
+ "Failed Dependency". Use the \c{--nodeps} option to \c rpm to workaround
+ this problem.
+
+ \target Solaris
+ \section1 Solaris - 9 or later
+
+ \section2 Unpackaging and Solaris tar
+
+ On some Solaris systems, both Solaris tar and GNU tar have been reported
+ to truncate long filenames. We recommend using star instead
+ (http://star.berlios.de).
+
+ \section2 CC on Solaris
+
+ Be sure to check our \l{Compiler Notes#Sun Studio}{Forte Developer / Sun Studio}
+ notes.
+
+ \section2 GCC on Solaris
+
+ 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.
+*/
+
+/*!
+ \page platform-notes-windows.html
+ \title Platform Notes - Windows
+ \contentspage Platform Notes
+
+ This page contains information about the Windows platforms Qt is currently
+ known to run on, with links to platform-specific notes. More information
+ about the combinations of platforms and compilers supported by Qt can be
+ found on the \l{Supported Platforms} page.
+
+ \tableofcontents
+
+ \section1 Windows Vista
+
+ Known issues for Qt on Vista will be listed here.
+
+ As of Qt 4.2.0 no Vista-specific issues are known.
+
+ \target Windows NT
+ \section1 Windows XP, Windows 2000 and Windows NT
+
+ \section2 Installation location
+
+ Installing Qt into a directory with spaces, e.g. C:\\Program Files, may
+ cause linker errors like the following:
+ \snippet doc/src/snippets/code/doc_src_platform-notes.qdoc 2
+
+ Install Qt into a subdirectory without spaces to avoid this problem.
+
+ \section2 AccelGALAXY graphic card
+
+ When you use a NT 4.0 machine with the driver number
+ 4,00,1381,1000,021,4.0.0 there is a problem with drag an drop and icons.
+ The computer freezes, and you have to reset. The problem disappears with
+ the newest version of the driver, available at
+ \l{http://www.es.com/}{www.es.com}.
+
+ \section2 Possible GL conflict
+
+ There is a known issue with running Microsoft NetMeeting, Lotus SameTime
+ 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.
+*/
+
+/*!
+ \page platform-notes-mac.html
+ \title Platform Notes - Mac OS X
+ \contentspage Platform 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
+ about the combinations of platforms and compilers supported by Qt can be
+ found on the \l{Supported Platforms} page.
+
+ \tableofcontents
+
+ \section1 General Information
+
+ Qt 4.4 and Qt 4.5 development is only supported on Mac OS X 10.4 and up.
+ Applications built against these version of Qt can be deployed on Mac OS X
+ 10.3, but cannot be developed on that version of the operating system due
+ to compiler issues.
+
+ Qt 4.3 has been tested to run on Mac OS X 10.3.9 and up. See notes on
+ the binary package for more information.
+
+ Qt 4.1 has been tested to run on Mac OS X 10.2.8 and up. Qt 4.1.4 is the
+ last release to work with Mac OS X 10.2.
+
+ \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
+ is included with Xcode Tools 3.1+ (configurable with
+ \c{-platform macx-g++42}).
+
+ \section2 Binary Package
+
+ The binary package requires that you have your .qt-license file in your
+ home directory. Installer.app cannot complete without a valid .qt-license
+ file. Evaluation users of Qt will have information about how to create
+ 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
+ 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+.
+ If you require a different configuration, you will have to use the
+ source package and build with GCC 3.3.
+
+ \section2 Mac OS X on Intel hardware
+
+ Qt 4 fully supports both the Intel and PowerPC architectures on the Mac.
+ As of Qt 4.1 it is possible to support the Intel architecture by
+ creating Universal Binaries with qmake. As of Qt 4.1 it is possible to
+ build Qt as a set of universal binaries and frameworks from configure by
+ adding these extra flags:
+
+ \snippet doc/src/snippets/code/doc_src_platform-notes.qdoc 3
+
+ If you are building on Intel hardware you can omit the sdk parameter, but
+ PowerPC hardware requires it.
+
+ You can also generate universal binaries using qmake. Simply add these
+ lines to your .pro file:
+
+ \snippet doc/src/snippets/code/doc_src_platform-notes.qdoc 4
+
+ \section2 Build Issues
+
+ If Qt does not build upon executing make, and fails with an error message
+ such as
+
+ \snippet doc/src/snippets/code/doc_src_platform-notes.qdoc 5
+
+ this could be an indication you have upgraded your version of Mac OS X
+ (e.g. 10.3 to 10.4), without upgrading your Developer Tools (Xcode Tools).
+ These must match in order to successfully compile files.
+
+ Please be sure to upgrade both simultaneously. If problems still occur,
+ contact support.
+
+ \section2 Fink
+
+ If you have installed the Qt for X11 package from \l{Fink},
+ it will set the QMAKESPEC environment variable to darwin-g++. This will
+ cause problems when you build the Qt for Mac OS X package. To fix this, simply
+ unset your QMAKESPEC or set it to macx-g++ before you run configure.
+ You need to have a fresh Qt distribution (make confclean).
+
+ \section2 MySQL and Mac OS X
+
+ There seems to be a issue when both -prebind and -multi_module are
+ defined when linking static C libraries into dynamic library. If you
+ get the following error message when linking Qt:
+
+ \snippet doc/src/snippets/code/doc_src_platform-notes.qdoc 6
+
+ re-link Qt using -single_module. This is only a problem when building the
+ MySQL driver into Qt. It does not affect plugins or static builds.
+
+ \section2 Qt and Precompiled Headers (PCH)
+
+ Starting with Qt 3.3.0 it is possible to use precompiled headers. They
+ are not enabled by default as it appears that some versions of Apple's
+ GCC and make have problems with this feature. If you want to use
+ precompiled headers when building the Qt source package, specify the
+ -pch option to configure. If, while using precompiled headers, you
+ encounter an internal compile error, try removing the -include header
+ statement from the compile line and trying again. If this solves the
+ problem, it probably is a good idea to turn off precompiled headers.
+ Also, consider filing a bug report with Apple so that they can
+ improve support for this feature.
+*/
+
+/*!
+ \page supported-platforms.html
+ \title Supported Platforms
+ \brief The platforms supported by Nokia for Qt.
+ \ingroup platform-notes
+
+ Qt is supported on a variety of 32-bit and 64-bit platforms, and can
+ usually be built on each platform with GCC, a vendor-supplied compiler, or
+ a third party compiler. Although Qt may be built on a range of platform-compiler
+ combinations, only a subset of these are actively supported by Qt Software.
+
+ A more general overview of the 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.
+
+ \tableofcontents
+
+ \section1 Most Common Actively Supported Platforms
+
+ \table
+ \header \o Platform \o Compilers
+ \row \o Apple Mac OS X (32-bit) \o gcc 4.0.1
+ \row \o Linux (32 and 64-bit) \o gcc 4.1, 4.2, 4.3
+ \row \o Microsoft Windows \o gcc 3.4.2 (MinGW) (32-bit), MSVC 2003, 2005 (32 and 64-bit), 2008,
+ \l{Known Issues in %VERSION%}{Intel icc (see note)}
+ \endtable
+
+ Any platform-compiler combinations not listed here should be considered unsupported.
+
+ \section1 Actively Supported Platforms
+
+ \table
+ \header \o OS \o Architecture \o Makespec \o Compiler version(s)
+ \row \o AIX \o PowerPC \o aix-xlc \o xlC 6
+ \row \o AIX \o PowerPC \o aix-xlc-64 \o xlC 6
+ \row \o HPUX \o PA/RISC \o hpux-acc* \o A.03.57 (aCC 3.57)
+ \row \o HPUX \o PA/RISC \o hpux-g++ \o GCC 3.4.4
+ \row \o HPUX \o PA/RISC \o hpux-g++-64 \o GCC 3.4.4
+ \row \o HPUX \o Itanium \o hpuxi-acc* \o A.06.10 (aCC 6.10)
+ \row \o Embedded Linux \o ARM \o qws/linux-arm-g++ \o GCC 3.4, 4.1, 4.2, 4.3
+ \row \o Embedded Linux \o Intel 32-bit \o qws/linux-x86-g++ \o GCC 3.4, 4.1, 4.2, 4.3
+ \row \o Linux \o Intel 32/64-bit \o linux-g++ \o GCC 4.1, 4.2, 4.3
+ \row \o Linux \o Intel 32/64-bit \o linux-icc \o icc 10.1
+ \row \o Linux \o Intel 32-bit \o linux-icc-32 \o icc 10.1
+ \row \o Linux \o Intel 64-bit \o linux-icc-64 \o icc 10.1
+ \row \o Mac OS X \o Intel 32/64-bit, PowerPC \o macx-g++ \o GCC 4.0.1
+ \row \o Mac OS X \o Intel 32/64-bit, PowerPC \o macx-g++42 \o GCC 4.2
+ \row \o Solaris \o SPARC, Intel 32-bit \o solaris-cc* \o Sun CC 5.5
+ \row \o Solaris \o SPARC, Intel 32-bit \o solaris-g++* \o GCC 3.4.2
+ \row \o Windows XP/Vista \o Intel 32/64-bit \o win32-g++ \o GCC 3.4.2 (MinGW 5.1.4)
+ \row \o Windows XP/Vista \o Intel 32/64-bit \o win32-icc \o icc 9.1
+ \row \o Windows XP/Vista \o Intel 32/64-bit \o win32-msvc2003 \o Visual Studio 2003
+ \row \o Windows XP/Vista \o Intel 32/64-bit \o win32-msvc2005 \o Visual Studio 2005
+ \row \o Windows XP/Vista \o Intel 32/64-bit \o win32-msvc2008 \o Visual Studio 2008
+ \row \o Windows CE \o Intel 32-bit, ARMv4i, MIPS
+ \o wince*-msvc2005 \o Visual Studio 2005
+ \row \o Windows CE \o Intel 32-bit, ARMv4i, MIPS
+ \o wince*-msvc2008 \o Visual Studio 2008
+ \endtable
+
+ \section1 Community Supported Platforms
+
+ \table
+ \header \o OS \o Architecture \o Makespec \o Compiler version(s)
+ \row \o Mac OS X \o Intel 32-bit, PowerPC \o darwin-g++ \o -
+ \row \o FreeBSD \o - \o freebsd-g++ \o -
+ \row \o FreeBSD \o - \o freebsd-g++34 \o -
+ \row \o FreeBSD \o - \o freebsd-g++40 \o -
+ \row \o FreeBSD \o - \o freebsd-icc \o -
+ \row \o HPUX \o Itanium \o hpuxi-g++* \o GCC 4.1
+ \row \o Linux \o - \o linux-cxx \o -
+ \row \o Linux \o - \o linux-ecc-64 \o -
+ \row \o Linux \o Itanium \o linux-g++ \o GCC 3.4
+ \row \o Linux \o Intel 32/64-bit \o linux-g++ \o GCC 3.3, 3.4
+ \row \o Linux \o Intel 32/64-bit \o linux-g++ \o GCC 4.0
+ \row \o Linux \o - \o linux-kcc \o -
+ \row \o Linux \o - \o linux-llvm \o -
+ \row \o Linux \o - \o linux-lsb-g++ \o -
+ \row \o LynxOS \o - \o lynxos-g++ \o -
+ \row \o Mac OS X \o - \o macx-llvm \o -
+ \row \o NetBSD \o - \o netbsd-g++ \o -
+ \row \o OpenBSD \o - \o openbsd-g++ \o -
+ \row \o Embedded Linux \o MIPS, PowerPC \o qws/linux-g++ \o GCC 3.4, 4.1, 4.2, 4.3
+ \endtable
+
+ \section1 Unsupported Platforms
+
+ The following platforms were supported in previous releases, either as actively supported
+ or community supported platforms, but are now unsupported.
+
+ \table
+ \header \o OS \o Architecture \o Makespec \o Compiler version(s)
+ \row \o IRIX \o MIPS \o irix-cc* \o MIPS Pro
+ \row \o IRIX \o MIPS \o irix-g++* \o GCC 3.3
+ \row \o Windows XP/Vista \o Intel 32/64-bit \o win32-msvc \o Visual C++ 6.0
+ \row \o Windows XP/Vista \o Intel 32/64-bit \o win32-msvc2002 \o Visual Studio 2002
+ \row \o Windows XP/Vista \o Intel 32/64-bit \o win32-msvc.net \o Visual Studio 2002
+ \endtable
+
+ Qt Software's online \l{Platform Support Policy} for Qt describes the level of
+ support you should expect for these platforms.
+
+ \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 MIPSpro 7.4.2m \o{5,1} \e{Unsupported - see the Unsupported Platforms table}
+ \row \o xlC 6 \o \o \o \o \bold{X} \o \bold{X}
+ \row \o \l{Known Issues in %VERSION%}{Intel CC 10 (see note)}
+ \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
+*/
+
+/*!
+ \page platform-notes-windows-ce.html
+ \title Platform Notes - Windows CE
+ \contentspage Platform 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
+ notes. More information about the combinations of platforms and compilers
+ supported by Qt can be found on the \l{Supported Platforms} page.
+*/
+
+/*!
+ \page platform-notes-embedded-linux.html
+ \title Platform Notes - Embedded Linux
+ \contentspage Platform Notes
+
+ This page contains information about the Embedded Linux platforms Qt is
+ currently known to run on, with links to platform-specific notes. More
+ information about the combinations of platforms and compilers supported
+ by Qt can be found on the \l{Supported Platforms} page.
+*/
+
+/*!
+ \page compiler-notes.html
+ \ingroup platform-notes
+ \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.
+
+ \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.
+
+ 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}.
+
+ \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
+
+ \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.
+
+ \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
+
+ \warning Please see the \l{Known Issues in %VERSION%} page for information
+ about an issue with this compiler.
+
+ \section2 Intel C++ Compiler for Linux
+
+ Qt Software 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 8.1 Build 20050309Z Package ID: W_CC_PC_8.1.026
+ \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 8 (Sun CC 5.5). Go to
+ \l{Sun Studio Patches} page on Sun's Web site to download
+ the latest patches for your Sun compiler.
+
+ \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.
+
+ We also test Qt 4 on Windows XP with Visual Studio .NET and Visual Studio 2003.
+
+ 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://www.qtsoftware.com/developer/faqs/faq.2006-12-18.3281869860}{Knowledge Base entry}
+ for more information.
+
+ \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.
+*/