doc/src/platforms/platform-notes.qdoc
changeset 0 1918ee327afb
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     1 /****************************************************************************
       
     2 **
       
     3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     4 ** All rights reserved.
       
     5 ** Contact: Nokia Corporation (qt-info@nokia.com)
       
     6 **
       
     7 ** This file is part of the documentation of the Qt Toolkit.
       
     8 **
       
     9 ** $QT_BEGIN_LICENSE:LGPL$
       
    10 ** No Commercial Usage
       
    11 ** This file contains pre-release code and may not be distributed.
       
    12 ** You may use this file in accordance with the terms and conditions
       
    13 ** contained in the Technology Preview License Agreement accompanying
       
    14 ** this package.
       
    15 **
       
    16 ** GNU Lesser General Public License Usage
       
    17 ** Alternatively, this file may be used under the terms of the GNU Lesser
       
    18 ** General Public License version 2.1 as published by the Free Software
       
    19 ** Foundation and appearing in the file LICENSE.LGPL included in the
       
    20 ** packaging of this file.  Please review the following information to
       
    21 ** ensure the GNU Lesser General Public License version 2.1 requirements
       
    22 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
       
    23 **
       
    24 ** In addition, as a special exception, Nokia gives you certain additional
       
    25 ** rights.  These rights are described in the Nokia Qt LGPL Exception
       
    26 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
       
    27 **
       
    28 ** If you have questions regarding the use of this file, please contact
       
    29 ** Nokia at qt-info@nokia.com.
       
    30 **
       
    31 **
       
    32 **
       
    33 **
       
    34 **
       
    35 **
       
    36 **
       
    37 **
       
    38 ** $QT_END_LICENSE$
       
    39 **
       
    40 ****************************************************************************/
       
    41 
       
    42 /*!
       
    43     \group platform-specific
       
    44     \title Platform-Specific Documentation
       
    45     \brief Documents describing platform-specific features of Qt.
       
    46 
       
    47     These documents describe platform-specific features provided by Qt, and
       
    48     discuss issues related to particular platforms and environments.
       
    49 
       
    50     \generatelist{related}
       
    51 */
       
    52 
       
    53 /*!
       
    54     \page platform-notes.html
       
    55     \ingroup platform-specific
       
    56     \title Platform Notes
       
    57     \brief Information about the platforms on which Qt can be used.
       
    58 
       
    59     This page contains information about the platforms Qt is currently known
       
    60     to run on, with links to platform-specific notes, including any known bugs
       
    61     or incompatibilities.
       
    62 
       
    63     \list
       
    64     \o \l{Platform Notes - X11}
       
    65     \tableofcontents{1 Platform Notes - X11}
       
    66     \o \l{Platform Notes - Windows}
       
    67     \tableofcontents{1 Platform Notes - Windows}
       
    68     \o \l{Platform Notes - Mac OS X}
       
    69     \tableofcontents{1 Platform Notes - Mac OS X}
       
    70     \o \l{Platform Notes - Symbian}
       
    71     \tableofcontents{1 Platform Notes - Symbian}
       
    72     \o \l{Platform Notes - Embedded Linux}
       
    73     \tableofcontents{1 Platform Notes - Embedded Linux}
       
    74     \o \l{Platform Notes - Windows CE}
       
    75     \tableofcontents{1 Platform Notes - Windows CE}
       
    76     \o \l{Platform Notes - QNX}
       
    77     \tableofcontents{1 Platform Notes - QNX}
       
    78     \o \l{Platform Notes - VxWorks}
       
    79     \tableofcontents{1 Platform Notes - VxWorks}
       
    80     \endlist
       
    81 
       
    82     See also the \l{Compiler Notes} for information about compiler-specific
       
    83     build issues. Information about the combinations of platforms and compilers
       
    84     supported by Qt can be found on the \l{Supported Platforms} page.
       
    85 
       
    86     If you have anything to add to this list or any of the platform or
       
    87     compiler-specific pages, please submit it via the \l{Bug Report Form}
       
    88     or through the \l{Public Qt Repository}.
       
    89 */
       
    90 
       
    91 /*!
       
    92     \page platform-notes-x11.html
       
    93     \title Platform Notes - X11
       
    94     \contentspage Platform Notes
       
    95 
       
    96     This page contains information about the X11 platforms Qt is currently
       
    97     known to run on, with links to platform-specific notes. More information
       
    98     about the combinations of platforms and compilers supported by Qt can be
       
    99     found on the \l{Supported Platforms} page.
       
   100 
       
   101     \tableofcontents
       
   102 
       
   103     \target AIX
       
   104     \section1 AIX - 5.2
       
   105 
       
   106     Qt has been tested on AIX 5.2, using the
       
   107     \l{Compiler Notes#IBM xlC (AIX)}{xlC} compiler.
       
   108 
       
   109     \table
       
   110     \header \o Compiler \o Notes
       
   111     \row    \o xlC
       
   112     \o If Qt is built correctly but all symbols are reported to be missing
       
   113     when you link an application, your makeC++SharedLib script might be out
       
   114     of date. Make sure you have the latest version from the
       
   115     \l{http://www-306.ibm.com/software/awdtools/vacpp/support/}{IBM website}.
       
   116     \row    \o GCC
       
   117     \o We have tested earlier versions of Qt 4 successfully with GCC version
       
   118     3.3 and above. Some versions of GCC may fail to link Qt with a "TOC overflow"
       
   119     message.
       
   120     Fix this by upgrading to the latest maintenance release of the dynamic
       
   121     linker. On AIX this is bos.rte.bind_cmds.4.1.5.3 or later.
       
   122     Some versions of GCC may fail to build Qt with STL and large-file support
       
   123     enabled, due to
       
   124     \l{http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9551}{a bug in GCC}.
       
   125     Fix this by upgrading to the latest maintenance release of the compiler.
       
   126     It is also possible to work around this problem by running configure with
       
   127     either \c{-no-stl} or \c{-no-largefile}.
       
   128     \endtable
       
   129 
       
   130     \target FreeBSD
       
   131     \section1 FreeBSD - 6.0-RELEASE
       
   132 
       
   133     \note FreeBSD is a community supported platform. See the
       
   134     \l{Supported Platforms} page for more information.
       
   135 
       
   136     The system compiler on FreeBSD 4.x is gcc 2.95.4, which is not
       
   137     officially supported by Qt 4. We develop using and recommend
       
   138     ports/lang/gcc34. You will need to run configure with the
       
   139     \c{-platform freebsd-g++34} arguments. Optionally, you may use
       
   140     ports/lang/icc.
       
   141 
       
   142     The system compiler on FreeBSD 5.x and 6.x is GCC 3.4.4, which should be
       
   143     sufficient to build Qt. You do not need to add any special arguments when
       
   144     running configure. Optionally, you may use ports/lang/icc.
       
   145 
       
   146     Note that we do not actively test FreeBSD 4.x and 5.x. Our developers
       
   147     migrated to 6.x after the Qt 4 launch. FreeBSD-CURRENT is not supported.
       
   148 
       
   149     \target HP-UX
       
   150     \section1 HP-UX
       
   151 
       
   152     Qt supports HP-UX on both PA-RISC and the Itanium (IA64) architectures.
       
   153 
       
   154     \section2 PA-RISC - B.11.11 or later
       
   155 
       
   156     You can configure Qt for aCC in 32 and 64 bit mode (hpux-acc-64 or
       
   157     hpux-acc-32), or gcc in 32 bit mode (hpux-g++).  The default platform is
       
   158     hpux-acc-32. The minimum required version for aCC (HP ANSI C++) on PA-RISC
       
   159     is A.03.57. The supported gcc compiler is gcc 3.4.3.
       
   160 
       
   161     \section2 Itanium - B.11.23 or later
       
   162 
       
   163     You can configure Qt for aCC in 32 and 64 bit mode (hpuxi-acc-64 or
       
   164     hpuxi-acc-32). gcc is currently unsupported.  The default platform is
       
   165     hpuxi-acc-64. The minimum required version for aCC (HP ANSI C++) on
       
   166     Itanium is A.06.12.
       
   167 
       
   168     \section2 OpenGL Support
       
   169 
       
   170     Qt's \l{QtOpenGL}{OpenGL} module requires GLX 1.3 or later to be installed.
       
   171     This is available for HP-UX 11i - see the
       
   172     \l{http://docs.hp.com/en/5992-2331/ch04s02.html}{Graphics and Technical Computing Software}
       
   173     section of the release notes for more information.
       
   174 
       
   175     \target IRIX
       
   176     \section1 IRIX - 6.5.x
       
   177 
       
   178     \bold{IRIX is an unsupported platform - please see Qt's online
       
   179     \l{Platform Support Policy} for details.}
       
   180 
       
   181     Unpackaging and IRIX tar:
       
   182     Because of long filenames some files will be cut off incorrectly with IRIX
       
   183     tar. Please use GNU tar to unpack Qt packages.
       
   184 
       
   185     \section1 Linux
       
   186 
       
   187     There are no known problems with using Qt on production versions of
       
   188     Linux/x86, Linux/ppc, Linux/amd64 and Linux/ia64 (including Altix(R)).
       
   189 
       
   190     For the gcc/g++ compiler, please also see the relevant
       
   191     \l{Compiler Notes#GCC}{compiler page}.
       
   192 
       
   193     \section2 Installation problems
       
   194 
       
   195     See also the \l{Installation FAQ}.
       
   196 
       
   197     If you experience problems when installing new open source versions of Qt
       
   198     versions, try to use the open source Qt archives (e.g., RPM)
       
   199     provided by your Linux distribution. If you need to install the source (.tgz)
       
   200     archive, be aware that you will probably end up with two different
       
   201     versions of the Qt library installed on your system, which will probably
       
   202     lead to link errors, like this:
       
   203     \snippet doc/src/snippets/code/doc_src_platform-notes.qdoc 0
       
   204     Fix this by removing the old version of the library.
       
   205 
       
   206     If you have problems installing open source versions of Qt
       
   207     provided by your Linux distribution (e.g., RPM), please consult the
       
   208     maintainers of the distribution, not us.
       
   209 
       
   210     Some RPM versions have problems installing some of the Qt RPM archives
       
   211     where installation stops with an error message warning about a
       
   212     "Failed Dependency". Use the \c{--nodeps} option to \c rpm to workaround
       
   213     this problem.
       
   214 
       
   215     \target Solaris
       
   216     \section1 Solaris - 9 or later
       
   217 
       
   218     \section2 Unpackaging and Solaris tar
       
   219 
       
   220     On some Solaris systems, both Solaris tar and GNU tar have been reported
       
   221     to truncate long filenames. We recommend using star instead
       
   222     (http://star.berlios.de).
       
   223 
       
   224     \section2 CC on Solaris
       
   225 
       
   226     Be sure to check our \l{Compiler Notes#Sun Studio}{Forte Developer / Sun Studio}
       
   227     notes.
       
   228 
       
   229     \section2 GCC on Solaris
       
   230 
       
   231     Be sure to check the installation notes for \l{GCC on Solaris}.
       
   232     Do not use GCC with Sun's assembler/linker, this will result in link-time
       
   233     errors in shared libraries. Use GNU binutils instead. 
       
   234 
       
   235     GCC 3.2.* is known to miscompile Qt due to an optimizer bug that will
       
   236     cause the resulting binaries to hang. Please use GCC 3.4.2 or later.
       
   237 */
       
   238 
       
   239 /*!
       
   240     \page platform-notes-windows.html
       
   241     \title Platform Notes - Windows
       
   242     \contentspage Platform Notes
       
   243 
       
   244     This page contains information about the Windows platforms Qt is currently
       
   245     known to run on, with links to platform-specific notes. More information
       
   246     about the combinations of platforms and compilers supported by Qt can be
       
   247     found on the \l{Supported Platforms} page.
       
   248 
       
   249     \tableofcontents
       
   250 
       
   251     \section1 Windows Vista
       
   252 
       
   253     At the time Qt %VERSION% was released, there were no known Vista-specific issues.
       
   254 
       
   255     \target Windows NT
       
   256     \section1 Windows XP, Windows 2000 and Windows NT
       
   257 
       
   258     \section2 Installation location
       
   259 
       
   260     Installing Qt into a directory with spaces, e.g. C:\\Program Files, may
       
   261     cause linker errors like the following:
       
   262     \snippet doc/src/snippets/code/doc_src_platform-notes.qdoc 2
       
   263 
       
   264     Install Qt into a subdirectory without spaces to avoid this problem.
       
   265 
       
   266     \section2 AccelGALAXY graphic card
       
   267 
       
   268     When you use a NT 4.0 machine with the driver number
       
   269     4,00,1381,1000,021,4.0.0 there is a problem with drag an drop and icons.
       
   270     The computer freezes, and you have to reset. The problem disappears with
       
   271     the newest version of the driver, available at
       
   272     \l{http://www.es.com/}{www.es.com}.
       
   273 
       
   274     \section2 Possible GL conflict
       
   275 
       
   276     There is a known issue with running Microsoft NetMeeting, Lotus SameTime
       
   277     and other applications that require screen grabbing while direct
       
   278     rendering is enabled. Other GL-applications may not work as expected,
       
   279     unless direct rendering is disabled.
       
   280 */
       
   281 
       
   282 /*!
       
   283     \page platform-notes-mac.html
       
   284     \title Platform Notes - Mac OS X
       
   285     \contentspage Platform Notes
       
   286 
       
   287     This page contains information about the Mac OS X versions Qt is currently
       
   288     known to run on, with links to platform-specific notes. More information
       
   289     about the combinations of platforms and compilers supported by Qt can be
       
   290     found on the \l{Supported Platforms} page.
       
   291 
       
   292     \tableofcontents
       
   293 
       
   294     \section1 General Information
       
   295 
       
   296     Qt 4.4 and Qt 4.5 development is only supported on Mac OS X 10.4 and up.
       
   297     Applications built against these version of Qt can be deployed on Mac OS X
       
   298     10.3, but cannot be developed on that version of the operating system due
       
   299     to compiler issues.
       
   300 
       
   301     Qt 4.3 has been tested to run on Mac OS X 10.3.9 and up. See notes on
       
   302     the binary package for more information.
       
   303 
       
   304     Qt 4.1 has been tested to run on Mac OS X 10.2.8 and up. Qt 4.1.4 is the
       
   305     last release to work with Mac OS X 10.2.
       
   306 
       
   307     \section2 Required GCC version
       
   308 
       
   309     Apple's gcc 4 that is shipped with the Xcode Tools for both Mac OS X 10.4
       
   310     and 10.5 will compile Qt. There is preliminary support for gcc 4.2 which
       
   311     is included with Xcode Tools 3.1+ (configurable with
       
   312     \c{-platform macx-g++42}).
       
   313 
       
   314     \section2 Binary Package
       
   315 
       
   316     The binary package requires that you have your .qt-license file in your
       
   317     home directory. Installer.app cannot complete without a valid .qt-license
       
   318     file. Evaluation users of Qt will have information about how to create
       
   319     this file in the email they receive.
       
   320 
       
   321     The binary package was built on Mac OS X 10.4 with Xcode Tools 2.1
       
   322     (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
       
   323     and Xcode Tools 2.3 for 4.2.0. It will only link executables built
       
   324     against 10.4 (or a 10.4 SDK). You should be able to run applications
       
   325     linked against these frameworks on Mac OS X 10.3.9 and Mac OS X 10.4+.
       
   326     If you require a different configuration, you will have to use the
       
   327     source package and build with GCC 3.3.
       
   328 
       
   329     \section2 Mac OS X on Intel hardware
       
   330 
       
   331     Qt 4 fully supports both the Intel and PowerPC architectures on the Mac.
       
   332     As of Qt 4.1 it is possible to support the Intel architecture by
       
   333     creating Universal Binaries with qmake. As of Qt 4.1 it is possible to
       
   334     build Qt as a set of universal binaries and frameworks from configure by
       
   335     adding these extra flags:
       
   336 
       
   337     \snippet doc/src/snippets/code/doc_src_platform-notes.qdoc 3
       
   338 
       
   339     If you are building on Intel hardware you can omit the sdk parameter, but
       
   340     PowerPC hardware requires it.
       
   341 
       
   342     You can also generate universal binaries using qmake. Simply add these
       
   343     lines to your .pro file:
       
   344 
       
   345     \snippet doc/src/snippets/code/doc_src_platform-notes.qdoc 4
       
   346 
       
   347     \section2 Build Issues
       
   348 
       
   349     If Qt does not build upon executing make, and fails with an error message
       
   350     such as
       
   351 
       
   352     \snippet doc/src/snippets/code/doc_src_platform-notes.qdoc 5
       
   353 
       
   354     this could be an indication you have upgraded your version of Mac OS X
       
   355     (e.g. 10.3 to 10.4), without upgrading your Developer Tools (Xcode Tools).
       
   356     These must match in order to successfully compile files.
       
   357 
       
   358     Please be sure to upgrade both simultaneously. If problems still occur,
       
   359     contact support.
       
   360 
       
   361     \section2 Fink
       
   362 
       
   363     If you have installed the Qt for X11 package from \l{Fink},
       
   364     it will set the QMAKESPEC environment variable to darwin-g++. This will
       
   365     cause problems when you build the Qt for Mac OS X package. To fix this, simply
       
   366     unset your QMAKESPEC or set it to macx-g++ before you run configure.
       
   367     You need to have a fresh Qt distribution (make confclean).
       
   368 
       
   369     \section2 MySQL and Mac OS X
       
   370 
       
   371     There seems to be a issue when both -prebind and -multi_module are
       
   372     defined when linking static C libraries into dynamic library. If you
       
   373     get the following error message when linking Qt:
       
   374 
       
   375     \snippet doc/src/snippets/code/doc_src_platform-notes.qdoc 6
       
   376 
       
   377     re-link Qt using -single_module. This is only a problem when building the
       
   378     MySQL driver into Qt. It does not affect plugins or static builds.
       
   379 
       
   380     \section2 Qt and Precompiled Headers (PCH)
       
   381 
       
   382     Starting with Qt 3.3.0 it is possible to use precompiled headers. They
       
   383     are not enabled by default as it appears that some versions of Apple's
       
   384     GCC and make have problems with this feature. If you want to use
       
   385     precompiled headers when building the Qt source package, specify the
       
   386     -pch option to configure. If, while using precompiled headers, you
       
   387     encounter an internal compile error, try removing the -include header
       
   388     statement from the compile line and trying again. If this solves the
       
   389     problem, it probably is a good idea to turn off precompiled headers.
       
   390     Also, consider filing a bug report with Apple so that they can
       
   391     improve support for this feature.
       
   392 */
       
   393 
       
   394 /*!
       
   395     \page platform-notes-windows-ce.html
       
   396     \title Platform Notes - Windows CE
       
   397     \contentspage Platform Notes
       
   398 
       
   399     This page contains information about the Windows CE and Windows Mobile
       
   400     platforms Qt is currently known to run on, with links to platform-specific
       
   401     notes. More information about the combinations of platforms and compilers
       
   402     supported by Qt can be found on the \l{Supported Platforms} page.
       
   403 */
       
   404 
       
   405 /*!
       
   406     \page platform-notes-symbian.html
       
   407     \title Platform Notes - Symbian
       
   408     \contentspage Platform Notes
       
   409 
       
   410     This page contains information about the Symbian platforms Qt is currently known
       
   411     to run on. More information about the combinations of platforms and compilers
       
   412     supported by Qt can be found on the \l{Supported Platforms} page.
       
   413 
       
   414     For information about mixing exceptions with Symbian leaves,
       
   415     see \l{Exception Safety with Symbian}
       
   416 
       
   417     \section1 Multimedia and Phonon Support
       
   418 
       
   419     Qt provides a backend for Qt's multimedia module, Phonon, which supports
       
   420     video and sound playback through Symbian's Multimedia Framework, MMF.
       
   421 
       
   422     In this release the support is experimental. Video playback may have
       
   423     flickering issues, and support for effects and playback queueing is
       
   424     incomplete.
       
   425 
       
   426     The audio and video formats that Phonon supports depends on what support
       
   427     the platform provides for MMF. The emulator is known to have limited
       
   428     codec support.
       
   429 
       
   430     In addition, there exists a backend for the Helix framework. However, due
       
   431     to it not shipping with Qt, its availability depends on the Symbian
       
   432     platform in use. If available, it is loaded instead of the MMF plugin.
       
   433 
       
   434 */
       
   435 
       
   436 /*!
       
   437     \page platform-notes-embedded-linux.html
       
   438     \title Platform Notes - Embedded Linux
       
   439     \contentspage Platform Notes
       
   440 
       
   441     This page contains information about the Embedded Linux platforms Qt is
       
   442     currently known to run on, with links to platform-specific notes. More
       
   443     information about the combinations of platforms and compilers supported
       
   444     by Qt can be found on the \l{Supported Platforms} page.
       
   445 */