Ignore:
Timestamp:
May 5, 2011, 5:36:53 AM (14 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.7.2 sources from branches/vendor/nokia/qt.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/doc/src/platforms/compiler-notes.qdoc

    r651 r846  
    11/****************************************************************************
    22**
    3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
     3** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
    44** All rights reserved.
    55** Contact: Nokia Corporation (qt-info@nokia.com)
     
    77** This file is part of the documentation of the Qt Toolkit.
    88**
    9 ** $QT_BEGIN_LICENSE:LGPL$
     9** $QT_BEGIN_LICENSE:FDL$
    1010** Commercial Usage
    1111** Licensees holding valid Qt Commercial licenses may use this file in
    1212** accordance with the Qt Commercial License Agreement provided with the
    13 ** Software or, alternatively, in accordance with the terms contained in
    14 ** a written agreement between you and Nokia.
     13** Software or, alternatively, in accordance with the terms contained in a
     14** written agreement between you and Nokia.
    1515**
    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 ** GNU General Public License Usage
    29 ** Alternatively, this file may be used under the terms of the GNU
    30 ** General Public License version 3.0 as published by the Free Software
    31 ** Foundation and appearing in the file LICENSE.GPL included in the
    32 ** packaging of this file.  Please review the following information to
    33 ** ensure the GNU General Public License version 3.0 requirements will be
    34 ** met: http://www.gnu.org/copyleft/gpl.html.
     16** GNU Free Documentation License
     17** Alternatively, this file may be used under the terms of the GNU Free
     18** Documentation License version 1.3 as published by the Free Software
     19** Foundation and appearing in the file included in the packaging of this
     20** file.
    3521**
    3622** If you have questions regarding the use of this file, please contact
     
    4632    \brief Information about the C++ compilers and tools used to build Qt.
    4733
    48     This page contains information about the C++ compilers and tools used
    49     to build Qt on various platforms.
     34    This page used to contain information about the C++ compilers and tools
     35    used to build Qt on various platforms. This information is now maintained
     36    in the \l{Platform and Compiler Notes} for each platform.
    5037
    51     \tableofcontents
    52 
    53     Please refer to the \l{Platform Notes} for information on the platforms
    54     Qt is currently known to run on, and see the \l{Supported Platforms}
    55     page for information about the status of each platform.
     38    Please refer to the \l{Supported Platforms} page for information about the
     39    status of each platform.
    5640
    5741    If you have anything to add to this list or any of the platform or
    5842    compiler-specific pages, please submit it via the \l{Bug Report Form}
    5943    or through the \l{Public Qt Repository}.
    60 
    61     \section1 Supported Features
    62 
    63     Not all compilers used to build Qt are able to compile all modules. The following table
    64     shows the compiler support for five modules that are not uniformly available for all
    65     platforms and compilers.
    66 
    67     \table
    68     \header \o Compiler \o{5,1} Features
    69     \header \o                  \o Concurrent \o XmlPatterns \o WebKit   \o CLucene  \o Phonon
    70     \row    \o g++ 3.3          \o            \o \bold{X}    \o          \o \bold{X} \o \bold{X}
    71     \row    \o g++ 3.4 and up   \o \bold{X}   \o \bold{X}    \o \bold{X} \o \bold{X} \o \bold{X}
    72     \row
    73     \row    \o SunCC 5.5        \o            \o             \o          \o \bold{X} \o \bold{X}
    74     \row
    75     \row    \o aCC series 3     \o            \o             \o          \o \bold{X} \o \bold{X}
    76     \row    \o aCC series 6     \o \bold{X}   \o \bold{X}    \o \bold{X} \o \bold{X} \o \bold{X}
    77     \row    \o xlC 6            \o            \o             \o          \o \bold{X} \o \bold{X}
    78     \row    \o Intel CC 10      \o \bold{X}   \o \bold{X}    \o \bold{X} \o \bold{X} \o \bold{X}
    79     \row
    80     \row    \o MSVC 2003        \o \bold{X}   \o \bold{X}    \o          \o \bold{X} \o \bold{X}
    81     \row    \o MSVC 2005 and up \o \bold{X}   \o \bold{X}    \o \bold{X} \o \bold{X} \o \bold{X}
    82     \endtable
    83 
    84     \target GCC
    85     \section1 GCC
    86 
    87     \section2 GCC on Windows (MinGW)
    88 
    89     We have tested Qt with this compiler on Windows XP.
    90     The minimal version of MinGW supported is:
    91 
    92     \list
    93     \o GCC 3.4.2
    94     \o MinGW runtime 3.7
    95     \o win32api 3.2
    96     \o binutils 2.15.91
    97     \o mingw32-make 3.80.0-3
    98     \endlist
    99 
    100     \note For users of the MinGW binary package: This package is now
    101     based on MinGW 4.4. The installer no longer offers to download
    102     MinGW for you, but rather offers to use a version of MinGW that
    103     you already have installed on your machine. You just tell the
    104     installer which directory MinGW is installed in. If you don't
    105     already have MinGW 4.4 installed, you can download a .zip archive
    106     from our \l{ftp://ftp.trolltech.com/misc/MinGW-gcc440_1.zip} {ftp
    107     site}. This archive provides fixes to MinGW and support for
    108     missing API, See the _patches directory in the archive for
    109     details.
    110 
    111     \note A MinGW installation is only needed to build against the
    112     binary pacakge, not to run the pre-compiled binaries that are in
    113     the package.
    114 
    115     \section2 GCC 4.0.0
    116 
    117     The released package of the compiler has some bugs that lead to
    118     miscompilations.  We recommend using GCC 4.0.1 or later, or to use
    119     a recent CVS snapshot of the GCC 4.0 branch. The version of GCC
    120     4.0.0 that is shipped with Mac OS X 10.4 "Tiger" is known to work
    121     with Qt for Mac OS X.
    122 
    123     \section2 HP-UX
    124 
    125     The hpux-g++ platform is tested with GCC 3.4.4.
    126 
    127     \section2 Solaris
    128 
    129     Please use GCC 3.4.2 or later.
    130 
    131     \section2 Mac OS X
    132 
    133     Please use the latest GCC 3.3 from Apple or a later version of GCC 3.
    134     The gcc 3.3 that is provided with Xcode 1.5 is known to generate bad code.
    135     Use the November 2004 GCC 3.3 updater \l{http://connect.apple.com}{available from Apple}.
    136 
    137     \section2 GCC 3.4.6 (Debian 3.4.6-5) on AMD64 (x86_64)
    138 
    139     This compiler is known to miscompile some parts of Qt when doing a
    140     release build. There are several workarounds:
    141 
    142     \list 1
    143     \o Use a debug build instead.
    144     \o For each miscompilation encountered, recompile the file, removing the -O2 option.
    145     \o Add -fno-gcse to the QMAKE_CXXFLAGS_RELEASE.
    146     \endlist
    147 
    148     \section1 HP ANSI C++ (aCC)
    149 
    150     The hpux-acc-32 and hpux-acc-64 platforms are tested with aCC A.03.57. The
    151     hpuxi-acc-32 and hpuxi-acc-64 platforms are tested with aCC A.06.10.
    152 
    153     \section1 Intel C++ Compiler
    154 
    155     Qt supports the Intel C++ compiler on both Windows and Linux.
    156     However, there are a few issues on Linux (see the following
    157     section).
    158 
    159     \section2 Intel C++ Compiler for Linux
    160 
    161     Nokia currently tests the following compilers:
    162 
    163     \list
    164 
    165     \o Intel(R) C++ Compiler for applications running on IA-32,
    166     Version 10.1 Build 20080602 Package ID: l_cc_p_10.1.017
    167 
    168     \o Intel(R) C++ Compiler for applications running on Intel(R) 64,
    169     Version 10.1 Build 20080602 Package ID: l_cc_p_10.1.017
    170 
    171     \endlist
    172 
    173     We do not currently test the IA-64 (Itanium) compiler.
    174 
    175     \section2 Known Issues with Intel C++ Compiler for Linux
    176 
    177     \list
    178 
    179     \o Precompiled header support does not work in version 10.0.025
    180        and older. For these compilers, you should configure Qt with
    181        -no-pch. Precompiled header support works properly in version
    182        10.0.026 and later.
    183     \o Version 10.0.026 for Intel 64 is known to miscompile qmake when
    184        building in release mode. For now, configure Qt with
    185        -debug. Version 10.1.008 and later can compile qmake in release
    186        mode.
    187     \o Versions 10.1.008 to 10.1.015 for both IA-32 and Intel 64 are
    188        known crash with "(0): internal error: 0_47021" when compiling
    189        QtXmlPatterns, QtWebKit, and Designer in release mode. Version
    190        10.1.017 compiles these modules correctly in release mode.
    191     \endlist
    192 
    193     \section2 Intel C++ Compiler (Windows, Altix)
    194 
    195     Qt 4 has been tested successfully with:
    196 
    197     \list
    198     \o Windows - Intel(R) C++ Compiler for 32-bit applications,
    199        Version 9.1.040.
    200     \o Altix - Intel(R) C++ Itanium(R) Compiler for Itanium(R)-based
    201        applications Version 8.1 Build 20050406 Package ID: l_cc_pc_8.1.030
    202     \endlist
    203 
    204     We currently only test the Intel compiler on 32-bit Windows versions.
    205 
    206     \section1 MIPSpro (IRIX)
    207 
    208     \bold{IRIX is an unsupported platform. See the \l{Supported Platforms} page
    209     and Qt's Software's online \l{Platform Support Policy} page for details.}
    210 
    211     Qt 4.4.x requires MIPSpro version 7.4.2m.
    212 
    213     Note that MIPSpro version 7.4.4m is currently not supported, since it has
    214     introduced a number of problems that have not yet been resolved.
    215     We recommend using 7.4.2m for Qt development. However, please note the
    216     unsupported status of this platform.
    217 
    218     \target Sun Studio
    219     \section1 Forte Developer / Sun Studio (Solaris)
    220 
    221     \section2 Sun Studio
    222 
    223     Qt is tested using Sun Studio 12 (Sun CC 5.9). Go to
    224     \l{Sun Studio Patches} page on Sun's Web site to download
    225     the latest patches for your Sun compiler.
    226 
    227     Please note that Qt 4.6 is stricter in its STL requirements and
    228     that the default STL implementation used by Sun CC does not pass
    229     those requirements. This does not affect binary compatibility and
    230     you can continue to use STL in your own code, but Qt's
    231     STL-compatibility functions will be disabled.
    232 
    233     Sun CC ships with a secondary STL implementation (called stlport4)
    234     which is standards-compliant and can be used by Qt. You can enable
    235     it by passing the -library=stlport4 option to the compiler. Note
    236     that this does not affect Qt's binary compatibility, but it may
    237     affect that of other libraries and programs that use STL.
    238 
    239     \section2 Sun WorkShop 5.0
    240 
    241     Sun WorkShop 5.0 is not supported with Qt 4.
    242 
    243     \section1 Visual Studio (Windows)
    244 
    245     We do most of our Windows development on Windows XP, using Microsoft
    246     Visual Studio .NET 2005 and Visual Studio 2008 (both the 32- and 64-bit
    247     versions).
    248 
    249     Qt works with the Standard Edition, the Professional Edition and Team
    250     System Edition of Visual Studio 2005.
    251 
    252     We also test Qt 4 on Windows XP with Visual Studio .NET and Visual Studio 2003.
    253 
    254     In order to use Qt with the Visual Studio 2005/2008 Express Edition you need
    255     to download and install the platform SDK. Due to limitations in the
    256     Express Edition it is not possible for us to install the Qt Visual
    257     Studio Integration. You will need to use our command line tools to
    258     build Qt applications with this edition.
    259 
    260     The Visual C++ Linker doesn't understand filenames with spaces (as in
    261     \c{C:\Program files\Qt\}) so you will have to move it to another place,
    262     or explicitly set the path yourself; for example:
    263 
    264     \snippet doc/src/snippets/code/doc_src_compiler-notes.qdoc 0
    265 
    266     If you are experiencing strange problems with using special flags that
    267     modify the alignment of structure and union members (such as \c{/Zp2})
    268     then you will need to recompile Qt with the flags set for the
    269     application as well.
    270 
    271     If you're using Visual Studio .NET (2002) Standard Edition, you should be
    272     using the Qt binary package provided, and not the source package.
    273     As the Standard Edition does not optimize compiled code, your compiled
    274     version of Qt would perform suboptimally with respect to speed.
    275 
    276     With Visual Studio 2005 Service Pack 1 a bug was introduced which
    277     causes Qt not to compile, this has been fixed with a hotfix available
    278     from Microsoft. See this
    279     \l{http://qt.nokia.com/developer/faqs/faq.2006-12-18.3281869860}{Knowledge Base entry}
    280     for more information.
    281 
    282     \section1 IBM xlC (AIX)
    283 
    284     The makeC++SharedLib utility must be in your PATH and be up to date to
    285     build shared libraries. From IBM's
    286     \l{http://www.redbooks.ibm.com/abstracts/sg245674.html}{C and C++ Application Development on AIX}
    287     Redbook:
    288 
    289     \list
    290     \o "The second step is to use the makeC++SharedLib command to create the
    291        shared object. The command has many optional arguments, but in its
    292        simplest form, can be used as follows:"
    293        \snippet doc/src/snippets/code/doc_src_compiler-notes.qdoc 1
    294     \o "The full path name to the command is not required; however, to avoid
    295        this, you will have to add the directory in which it is located to
    296        your PATH environment variable. The command is located in the
    297        /usr/vacpp/bin directory with the VisualAge C++ Professional for AIX,
    298        Version 5 compiler."
    299     \endlist
    300 
    301     \section2 VisualAge C++ for AIX, Version 6.0
    302 
    303     Make sure you have the
    304     \l{http://www-1.ibm.com/support/search.wss?rs=32&tc=SSEP5D&dc=D400}{latest upgrades}
    305     installed.
    306 
    307     \section2 GCCE (Symbian)
    308 
    309     GCCE cannot be used to compile Qt libaries for the Symbian platform, but GCCE is supported
    310     when compiling Qt applications for Symbian platform.
    31144*/
Note: See TracChangeset for help on using the changeset viewer.