Changeset 846 for trunk/doc/src/platforms/compiler-notes.qdoc
- Timestamp:
- May 5, 2011, 5:36:53 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:mergeinfo changed
/branches/vendor/nokia/qt/4.7.2 (added) merged: 845 /branches/vendor/nokia/qt/current merged: 844 /branches/vendor/nokia/qt/4.6.3 removed
- Property svn:mergeinfo changed
-
trunk/doc/src/platforms/compiler-notes.qdoc
r651 r846 1 1 /**************************************************************************** 2 2 ** 3 ** Copyright (C) 201 0Nokia Corporation and/or its subsidiary(-ies).3 ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). 4 4 ** All rights reserved. 5 5 ** Contact: Nokia Corporation (qt-info@nokia.com) … … 7 7 ** This file is part of the documentation of the Qt Toolkit. 8 8 ** 9 ** $QT_BEGIN_LICENSE: LGPL$9 ** $QT_BEGIN_LICENSE:FDL$ 10 10 ** Commercial Usage 11 11 ** Licensees holding valid Qt Commercial licenses may use this file in 12 12 ** accordance with the Qt Commercial License Agreement provided with the 13 ** Software or, alternatively, in accordance with the terms contained in 14 ** awritten agreement between you and Nokia.13 ** Software or, alternatively, in accordance with the terms contained in a 14 ** written agreement between you and Nokia. 15 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 ** 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. 35 21 ** 36 22 ** If you have questions regarding the use of this file, please contact … … 46 32 \brief Information about the C++ compilers and tools used to build Qt. 47 33 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. 50 37 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. 56 40 57 41 If you have anything to add to this list or any of the platform or 58 42 compiler-specific pages, please submit it via the \l{Bug Report Form} 59 43 or through the \l{Public Qt Repository}. 60 61 \section1 Supported Features62 63 Not all compilers used to build Qt are able to compile all modules. The following table64 shows the compiler support for five modules that are not uniformly available for all65 platforms and compilers.66 67 \table68 \header \o Compiler \o{5,1} Features69 \header \o \o Concurrent \o XmlPatterns \o WebKit \o CLucene \o Phonon70 \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 \row73 \row \o SunCC 5.5 \o \o \o \o \bold{X} \o \bold{X}74 \row75 \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 \row80 \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 \endtable83 84 \target GCC85 \section1 GCC86 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 \list93 \o GCC 3.4.294 \o MinGW runtime 3.795 \o win32api 3.296 \o binutils 2.15.9197 \o mingw32-make 3.80.0-398 \endlist99 100 \note For users of the MinGW binary package: This package is now101 based on MinGW 4.4. The installer no longer offers to download102 MinGW for you, but rather offers to use a version of MinGW that103 you already have installed on your machine. You just tell the104 installer which directory MinGW is installed in. If you don't105 already have MinGW 4.4 installed, you can download a .zip archive106 from our \l{ftp://ftp.trolltech.com/misc/MinGW-gcc440_1.zip} {ftp107 site}. This archive provides fixes to MinGW and support for108 missing API, See the _patches directory in the archive for109 details.110 111 \note A MinGW installation is only needed to build against the112 binary pacakge, not to run the pre-compiled binaries that are in113 the package.114 115 \section2 GCC 4.0.0116 117 The released package of the compiler has some bugs that lead to118 miscompilations. We recommend using GCC 4.0.1 or later, or to use119 a recent CVS snapshot of the GCC 4.0 branch. The version of GCC120 4.0.0 that is shipped with Mac OS X 10.4 "Tiger" is known to work121 with Qt for Mac OS X.122 123 \section2 HP-UX124 125 The hpux-g++ platform is tested with GCC 3.4.4.126 127 \section2 Solaris128 129 Please use GCC 3.4.2 or later.130 131 \section2 Mac OS X132 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 a140 release build. There are several workarounds:141 142 \list 1143 \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 \endlist147 148 \section1 HP ANSI C++ (aCC)149 150 The hpux-acc-32 and hpux-acc-64 platforms are tested with aCC A.03.57. The151 hpuxi-acc-32 and hpuxi-acc-64 platforms are tested with aCC A.06.10.152 153 \section1 Intel C++ Compiler154 155 Qt supports the Intel C++ compiler on both Windows and Linux.156 However, there are a few issues on Linux (see the following157 section).158 159 \section2 Intel C++ Compiler for Linux160 161 Nokia currently tests the following compilers:162 163 \list164 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.017167 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.017170 171 \endlist172 173 We do not currently test the IA-64 (Itanium) compiler.174 175 \section2 Known Issues with Intel C++ Compiler for Linux176 177 \list178 179 \o Precompiled header support does not work in version 10.0.025180 and older. For these compilers, you should configure Qt with181 -no-pch. Precompiled header support works properly in version182 10.0.026 and later.183 \o Version 10.0.026 for Intel 64 is known to miscompile qmake when184 building in release mode. For now, configure Qt with185 -debug. Version 10.1.008 and later can compile qmake in release186 mode.187 \o Versions 10.1.008 to 10.1.015 for both IA-32 and Intel 64 are188 known crash with "(0): internal error: 0_47021" when compiling189 QtXmlPatterns, QtWebKit, and Designer in release mode. Version190 10.1.017 compiles these modules correctly in release mode.191 \endlist192 193 \section2 Intel C++ Compiler (Windows, Altix)194 195 Qt 4 has been tested successfully with:196 197 \list198 \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)-based201 applications Version 8.1 Build 20050406 Package ID: l_cc_pc_8.1.030202 \endlist203 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} page209 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 has214 introduced a number of problems that have not yet been resolved.215 We recommend using 7.4.2m for Qt development. However, please note the216 unsupported status of this platform.217 218 \target Sun Studio219 \section1 Forte Developer / Sun Studio (Solaris)220 221 \section2 Sun Studio222 223 Qt is tested using Sun Studio 12 (Sun CC 5.9). Go to224 \l{Sun Studio Patches} page on Sun's Web site to download225 the latest patches for your Sun compiler.226 227 Please note that Qt 4.6 is stricter in its STL requirements and228 that the default STL implementation used by Sun CC does not pass229 those requirements. This does not affect binary compatibility and230 you can continue to use STL in your own code, but Qt's231 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 enable235 it by passing the -library=stlport4 option to the compiler. Note236 that this does not affect Qt's binary compatibility, but it may237 affect that of other libraries and programs that use STL.238 239 \section2 Sun WorkShop 5.0240 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 Microsoft246 Visual Studio .NET 2005 and Visual Studio 2008 (both the 32- and 64-bit247 versions).248 249 Qt works with the Standard Edition, the Professional Edition and Team250 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 need255 to download and install the platform SDK. Due to limitations in the256 Express Edition it is not possible for us to install the Qt Visual257 Studio Integration. You will need to use our command line tools to258 build Qt applications with this edition.259 260 The Visual C++ Linker doesn't understand filenames with spaces (as in261 \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 0265 266 If you are experiencing strange problems with using special flags that267 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 the269 application as well.270 271 If you're using Visual Studio .NET (2002) Standard Edition, you should be272 using the Qt binary package provided, and not the source package.273 As the Standard Edition does not optimize compiled code, your compiled274 version of Qt would perform suboptimally with respect to speed.275 276 With Visual Studio 2005 Service Pack 1 a bug was introduced which277 causes Qt not to compile, this has been fixed with a hotfix available278 from Microsoft. See this279 \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 to285 build shared libraries. From IBM's286 \l{http://www.redbooks.ibm.com/abstracts/sg245674.html}{C and C++ Application Development on AIX}287 Redbook:288 289 \list290 \o "The second step is to use the makeC++SharedLib command to create the291 shared object. The command has many optional arguments, but in its292 simplest form, can be used as follows:"293 \snippet doc/src/snippets/code/doc_src_compiler-notes.qdoc 1294 \o "The full path name to the command is not required; however, to avoid295 this, you will have to add the directory in which it is located to296 your PATH environment variable. The command is located in the297 /usr/vacpp/bin directory with the VisualAge C++ Professional for AIX,298 Version 5 compiler."299 \endlist300 301 \section2 VisualAge C++ for AIX, Version 6.0302 303 Make sure you have the304 \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 supported310 when compiling Qt applications for Symbian platform.311 44 */
Note:
See TracChangeset
for help on using the changeset viewer.