summaryrefslogtreecommitdiffstats
path: root/doc/src/platform-notes.qdoc
blob: 6532d1ef6dc0fddbc7761c691e355572421bae62 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
/****************************************************************************
**
** 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 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.
*/