1 | /****************************************************************************
|
---|
2 | **
|
---|
3 | ** Copyright (C) 2011 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:FDL$
|
---|
10 | ** Commercial Usage
|
---|
11 | ** Licensees holding valid Qt Commercial licenses may use this file in
|
---|
12 | ** accordance with the Qt Commercial License Agreement provided with the
|
---|
13 | ** Software or, alternatively, in accordance with the terms contained in a
|
---|
14 | ** written agreement between you and Nokia.
|
---|
15 | **
|
---|
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.
|
---|
21 | **
|
---|
22 | ** If you have questions regarding the use of this file, please contact
|
---|
23 | ** Nokia at qt-info@nokia.com.
|
---|
24 | ** $QT_END_LICENSE$
|
---|
25 | **
|
---|
26 | ****************************************************************************/
|
---|
27 |
|
---|
28 | /*!
|
---|
29 | \group platform-specific
|
---|
30 | \title Platform-Specific Documentation
|
---|
31 | \brief Documents describing platform-specific features of Qt.
|
---|
32 |
|
---|
33 | These documents describe platform-specific features provided by Qt, and
|
---|
34 | discuss issues related to particular platforms and environments.
|
---|
35 |
|
---|
36 | \generatelist{related}
|
---|
37 | */
|
---|
38 |
|
---|
39 | /*!
|
---|
40 | \page platform-notes.html
|
---|
41 | \ingroup platform-specific
|
---|
42 | \title Platform and Compiler Notes
|
---|
43 | \brief Information about the platforms on which Qt can be used.
|
---|
44 |
|
---|
45 | This page contains information about the platforms Qt is currently known
|
---|
46 | to run on, with links to platform-specific notes, including any known bugs
|
---|
47 | or incompatibilities.
|
---|
48 |
|
---|
49 | Information about the combinations of platforms and compilers
|
---|
50 | supported by Qt can be found on the \l{Supported Platforms} page.
|
---|
51 |
|
---|
52 | \list
|
---|
53 | \o \l{Platform and Compiler Notes - X11}
|
---|
54 | \tableofcontents{1 Platform and Compiler Notes - X11}
|
---|
55 | \o \l{Platform and Compiler Notes - Windows}
|
---|
56 | \tableofcontents{1 Platform and Compiler Notes - Windows}
|
---|
57 | \o \l{Platform and Compiler Notes - Mac OS X}
|
---|
58 | \tableofcontents{1 Platform and Compiler Notes - Mac OS X}
|
---|
59 | \o \l{Platform and Compiler Notes - Symbian}
|
---|
60 | \tableofcontents{1 Platform and Compiler Notes - Symbian}
|
---|
61 | \o \l{Platform and Compiler Notes - Embedded Linux}
|
---|
62 | \tableofcontents{1 Platform and Compiler Notes - Embedded Linux}
|
---|
63 | \o \l{Platform and Compiler Notes - Windows CE}
|
---|
64 | \tableofcontents{1 Platform and Compiler Notes - Windows CE}
|
---|
65 | \o \l{Platform and Compiler Notes - QNX}
|
---|
66 | \tableofcontents{1 Platform and Compiler Notes - QNX}
|
---|
67 | \o \l{Platform and Compiler Notes - VxWorks}
|
---|
68 | \tableofcontents{1 Platform and Compiler Notes - VxWorks}
|
---|
69 | \endlist
|
---|
70 |
|
---|
71 | \section1 General Compiler Notes
|
---|
72 |
|
---|
73 | \section2 Supported Features
|
---|
74 |
|
---|
75 | Not all compilers used to build Qt are able to compile all modules. The following table
|
---|
76 | shows the compiler support for five modules that are not uniformly available for all
|
---|
77 | platforms and compilers.
|
---|
78 |
|
---|
79 | \table
|
---|
80 | \header \o Compiler \o{5,1} Features
|
---|
81 | \header \o \o Concurrent \o XmlPatterns \o WebKit(*) \o CLucene \o Phonon
|
---|
82 | \row \o g++ 3.3 \o \o \bold{X} \o \o \bold{X} \o \bold{X}
|
---|
83 | \row \o g++ 3.4 and up \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
|
---|
84 | \row \o SunCC 5.5 \o \o \o \o \bold{X} \o \bold{X}
|
---|
85 | \row \o aCC series 3 \o \o \o \o \bold{X} \o \bold{X}
|
---|
86 | \row \o aCC series 6 \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
|
---|
87 | \row \o xlC 6 \o \o \o \o \bold{X} \o \bold{X}
|
---|
88 | \row \o Intel CC 10 \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
|
---|
89 | \row \o MSVC 2003 \o \bold{X} \o \bold{X} \o \o \bold{X} \o \bold{X}
|
---|
90 | \row \o MSVC 2005 and up \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X} \o \bold{X}
|
---|
91 | \endtable
|
---|
92 |
|
---|
93 | * WebKit is only supported as a dynamically built library. Static linkage is not supported.
|
---|
94 |
|
---|
95 | \section2 GCC 3.4.6 (Debian 3.4.6-5) on AMD64 (x86_64)
|
---|
96 |
|
---|
97 | This compiler is known to miscompile some parts of Qt when doing a
|
---|
98 | release build. There are several workarounds:
|
---|
99 |
|
---|
100 | \list 1
|
---|
101 | \o Use a debug build instead.
|
---|
102 | \o For each miscompilation encountered, recompile the file, removing the \c{-O2} option.
|
---|
103 | \o Add \c{-fno-gcse} to the
|
---|
104 | \l{qmake Variable Reference#QMAKE_CXXFLAGS_RELEASE}{QMAKE_CXXFLAGS_RELEASE} qmake
|
---|
105 | variable.
|
---|
106 | \endlist
|
---|
107 |
|
---|
108 | \section2 GCC 4.0.0
|
---|
109 |
|
---|
110 | The released package of the compiler has some bugs that lead to
|
---|
111 | miscompilations. We recommend using GCC 4.0.1 or later, or to use
|
---|
112 | a recent CVS snapshot of the GCC 4.0 branch. The version of GCC
|
---|
113 | 4.0.0 that is shipped with Mac OS X 10.4 "Tiger" is known to work
|
---|
114 | with Qt for Mac OS X.
|
---|
115 |
|
---|
116 | \section2 Intel C++ Compiler
|
---|
117 |
|
---|
118 | Qt supports the Intel C++ compiler on both Windows and Linux.
|
---|
119 | However, there are a few issues on Linux; see
|
---|
120 | \l{Platform and Compiler Notes - X11#Intel C++ Compiler for Linux}{Intel C++ Compiler for Linux}
|
---|
121 | for details.
|
---|
122 |
|
---|
123 | \section1 Feedback and Corrections
|
---|
124 |
|
---|
125 | If you have anything to add to this list or any of the platform or
|
---|
126 | compiler-specific pages, please submit it via the \l{Bug Report Form}
|
---|
127 | or through the \l{Public Qt Repository}.
|
---|
128 | */
|
---|
129 |
|
---|
130 | /*!
|
---|
131 | \page platform-notes-x11.html
|
---|
132 | \title Platform and Compiler Notes - X11
|
---|
133 | \contentspage Platform and Compiler Notes
|
---|
134 |
|
---|
135 | This page contains information about the X11 platforms Qt is currently
|
---|
136 | known to run on, with links to platform-specific notes. More information
|
---|
137 | about the combinations of platforms and compilers supported by Qt can be
|
---|
138 | found on the \l{Supported Platforms} page.
|
---|
139 |
|
---|
140 | \tableofcontents
|
---|
141 |
|
---|
142 | \target AIX
|
---|
143 | \section1 AIX - 5.2
|
---|
144 |
|
---|
145 | Qt has been tested on AIX 5.2, using the xlC compiler.
|
---|
146 |
|
---|
147 | \table
|
---|
148 | \header \o Compiler \o Notes
|
---|
149 | \row \o xlC
|
---|
150 | \o If Qt is built correctly but all symbols are reported to be missing
|
---|
151 | when you link an application, your makeC++SharedLib script might be out
|
---|
152 | of date. Make sure you have the latest version from the
|
---|
153 | \l{http://www-306.ibm.com/software/awdtools/vacpp/support/}{IBM website}.
|
---|
154 | \row \o GCC
|
---|
155 | \o We have tested earlier versions of Qt 4 successfully with GCC version
|
---|
156 | 3.3 and above. Some versions of GCC may fail to link Qt with a "TOC overflow"
|
---|
157 | message.
|
---|
158 | Fix this by upgrading to the latest maintenance release of the dynamic
|
---|
159 | linker. On AIX this is bos.rte.bind_cmds.4.1.5.3 or later.
|
---|
160 | Some versions of GCC may fail to build Qt with STL and large-file support
|
---|
161 | enabled, due to
|
---|
162 | \l{http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9551}{a bug in GCC}.
|
---|
163 | Fix this by upgrading to the latest maintenance release of the compiler.
|
---|
164 | It is also possible to work around this problem by running configure with
|
---|
165 | either \c{-no-stl} or \c{-no-largefile}.
|
---|
166 | \endtable
|
---|
167 |
|
---|
168 | \section2 IBM xlC
|
---|
169 |
|
---|
170 | The makeC++SharedLib utility must be in your PATH and be up to date to
|
---|
171 | build shared libraries. From IBM's
|
---|
172 | \l{http://www.redbooks.ibm.com/abstracts/sg245674.html}{C and C++ Application Development on AIX}
|
---|
173 | Redbook:
|
---|
174 |
|
---|
175 | \list
|
---|
176 | \o "The second step is to use the makeC++SharedLib command to create the
|
---|
177 | shared object. The command has many optional arguments, but in its
|
---|
178 | simplest form, can be used as follows:"
|
---|
179 | \snippet doc/src/snippets/code/doc_src_compiler-notes.qdoc 1
|
---|
180 | \o "The full path name to the command is not required; however, to avoid
|
---|
181 | this, you will have to add the directory in which it is located to
|
---|
182 | your PATH environment variable. The command is located in the
|
---|
183 | /usr/vacpp/bin directory with the VisualAge C++ Professional for AIX,
|
---|
184 | Version 5 compiler."
|
---|
185 | \endlist
|
---|
186 |
|
---|
187 | \section2 VisualAge C++ for AIX, Version 6.0
|
---|
188 |
|
---|
189 | Make sure you have the
|
---|
190 | \l{http://www-1.ibm.com/support/search.wss?rs=32&tc=SSEP5D&dc=D400}{latest upgrades}
|
---|
191 | installed.
|
---|
192 |
|
---|
193 | \target FreeBSD
|
---|
194 | \section1 FreeBSD - 6.0-RELEASE
|
---|
195 |
|
---|
196 | \note FreeBSD is a community supported platform. See the
|
---|
197 | \l{Supported Platforms} page for more information.
|
---|
198 |
|
---|
199 | The system compiler on FreeBSD 4.x is GCC 2.95.4, which is not
|
---|
200 | officially supported by Qt 4. We develop using and recommend
|
---|
201 | ports/lang/gcc34. You will need to run configure with the
|
---|
202 | \c{-platform freebsd-g++34} arguments. Optionally, you may use
|
---|
203 | ports/lang/icc.
|
---|
204 |
|
---|
205 | The system compiler on FreeBSD 5.x and 6.x is GCC 3.4.4, which should be
|
---|
206 | sufficient to build Qt. You do not need to add any special arguments when
|
---|
207 | running configure. Optionally, you may use ports/lang/icc.
|
---|
208 |
|
---|
209 | Note that we do not actively test FreeBSD 4.x and 5.x. Our developers
|
---|
210 | migrated to 6.x after the Qt 4 launch. FreeBSD-CURRENT is not supported.
|
---|
211 |
|
---|
212 | \section1 HP-UX
|
---|
213 |
|
---|
214 | Qt supports HP-UX on both PA-RISC and the Itanium (IA64) architectures.
|
---|
215 |
|
---|
216 | \section2 PA-RISC - B.11.11 or later
|
---|
217 |
|
---|
218 | You can configure Qt for aCC in 32 and 64 bit mode (hpux-acc-64 or
|
---|
219 | hpux-acc-32), or GCC in 32 bit mode (hpux-g++). The default platform is
|
---|
220 | hpux-acc-32. The minimum required version for aCC (HP ANSI C++) on PA-RISC
|
---|
221 | is A.03.57. The supported GCC compiler is GCC 3.4.3.
|
---|
222 |
|
---|
223 | \section2 Itanium - B.11.23 or later
|
---|
224 |
|
---|
225 | You can configure Qt for aCC in 32 and 64 bit mode (hpuxi-acc-64 or
|
---|
226 | hpuxi-acc-32). GCC is currently unsupported. The default platform is
|
---|
227 | hpuxi-acc-64. The minimum required version for aCC (HP ANSI C++) on
|
---|
228 | Itanium is A.06.12.
|
---|
229 |
|
---|
230 | \section2 HP ANSI C++ (aCC)
|
---|
231 |
|
---|
232 | The hpux-acc-32 and hpux-acc-64 platforms are tested with aCC A.03.57. The
|
---|
233 | hpuxi-acc-32 and hpuxi-acc-64 platforms are tested with aCC A.06.10.
|
---|
234 |
|
---|
235 | \section2 GCC
|
---|
236 |
|
---|
237 | The hpux-g++ platform is tested with GCC 3.4.4.
|
---|
238 |
|
---|
239 | \section2 OpenGL Support
|
---|
240 |
|
---|
241 | Qt's \l{QtOpenGL}{OpenGL} module requires GLX 1.3 or later to be installed.
|
---|
242 | This is available for HP-UX 11i - see the
|
---|
243 | \l{http://docs.hp.com/en/5992-2331/ch04s02.html}{Graphics and Technical Computing Software}
|
---|
244 | section of the release notes for more information.
|
---|
245 |
|
---|
246 | \target IRIX
|
---|
247 | \section1 IRIX - 6.5.x
|
---|
248 |
|
---|
249 | \bold{IRIX is an unsupported platform. See the \l{Supported Platforms} page
|
---|
250 | and Qt's Software's online \l{Platform Support Policy} page for details.}
|
---|
251 |
|
---|
252 | Unpackaging and IRIX tar:
|
---|
253 | Because of long filenames some files will be cut off incorrectly with IRIX
|
---|
254 | tar. Please use GNU tar to unpack Qt packages.
|
---|
255 |
|
---|
256 | \section2 MIPSpro
|
---|
257 |
|
---|
258 | Qt 4.4.x requires MIPSpro version 7.4.2m.
|
---|
259 |
|
---|
260 | Note that MIPSpro version 7.4.4m is currently not supported, since it has
|
---|
261 | introduced a number of problems that have not yet been resolved.
|
---|
262 | We recommend using 7.4.2m for Qt development. However, please note the
|
---|
263 | unsupported status of this platform.
|
---|
264 |
|
---|
265 | \section1 Linux
|
---|
266 |
|
---|
267 | There are no known problems with using Qt on production versions of
|
---|
268 | Linux/x86, Linux/ppc, Linux/amd64 and Linux/ia64 (including Altix(R)).
|
---|
269 |
|
---|
270 | For the GCC compiler, please also see the relevant
|
---|
271 | \l{Platform and Compiler Notes#General Compiler Notes}{General Compiler Notes}.
|
---|
272 |
|
---|
273 | \section2 Installation problems
|
---|
274 |
|
---|
275 | See also the \l{Installation FAQ}.
|
---|
276 |
|
---|
277 | If you experience problems when installing new open source versions of Qt
|
---|
278 | versions, try to use the open source Qt archives (e.g., RPM)
|
---|
279 | provided by your Linux distribution. If you need to install the source (.tgz)
|
---|
280 | archive, be aware that you will probably end up with two different
|
---|
281 | versions of the Qt library installed on your system, which will probably
|
---|
282 | lead to link errors, like this:
|
---|
283 | \snippet doc/src/snippets/code/doc_src_platform-notes.qdoc 0
|
---|
284 | Fix this by removing the old version of the library.
|
---|
285 |
|
---|
286 | If you have problems installing open source versions of Qt
|
---|
287 | provided by your Linux distribution (e.g., RPM), please consult the
|
---|
288 | maintainers of the distribution, not us.
|
---|
289 |
|
---|
290 | Some RPM versions have problems installing some of the Qt RPM archives
|
---|
291 | where installation stops with an error message warning about a
|
---|
292 | "Failed Dependency". Use the \c{--nodeps} option to \c rpm to workaround
|
---|
293 | this problem.
|
---|
294 |
|
---|
295 | \section2 Intel C++ Compiler for Linux
|
---|
296 |
|
---|
297 | Nokia currently tests the following compilers:
|
---|
298 |
|
---|
299 | \list
|
---|
300 |
|
---|
301 | \o Intel(R) C++ Compiler for applications running on IA-32,
|
---|
302 | Version 10.1 Build 20080602 Package ID: l_cc_p_10.1.017
|
---|
303 |
|
---|
304 | \o Intel(R) C++ Compiler for applications running on Intel(R) 64,
|
---|
305 | Version 10.1 Build 20080602 Package ID: l_cc_p_10.1.017
|
---|
306 |
|
---|
307 | \endlist
|
---|
308 |
|
---|
309 | We do not currently test the IA-64 (Itanium) compiler.
|
---|
310 |
|
---|
311 | \section2 Known Issues with Intel C++ Compiler for Linux
|
---|
312 |
|
---|
313 | \list
|
---|
314 |
|
---|
315 | \o Precompiled header support does not work in version 10.0.025
|
---|
316 | and older. For these compilers, you should configure Qt with
|
---|
317 | -no-pch. Precompiled header support works properly in version
|
---|
318 | 10.0.026 and later.
|
---|
319 | \o Version 10.0.026 for Intel 64 is known to miscompile qmake when
|
---|
320 | building in release mode. For now, configure Qt with
|
---|
321 | -debug. Version 10.1.008 and later can compile qmake in release
|
---|
322 | mode.
|
---|
323 | \o Versions 10.1.008 to 10.1.015 for both IA-32 and Intel 64 are
|
---|
324 | known crash with "(0): internal error: 0_47021" when compiling
|
---|
325 | QtXmlPatterns, QtWebKit, and Designer in release mode. Version
|
---|
326 | 10.1.017 compiles these modules correctly in release mode.
|
---|
327 | \endlist
|
---|
328 |
|
---|
329 | \target Solaris
|
---|
330 | \section1 Solaris - 9 or later
|
---|
331 |
|
---|
332 | \section2 Unpackaging and Solaris tar
|
---|
333 |
|
---|
334 | On some Solaris systems, both Solaris tar and GNU tar have been reported
|
---|
335 | to truncate long filenames. We recommend using star instead
|
---|
336 | (http://star.berlios.de).
|
---|
337 |
|
---|
338 | Please note that WebKit is not supported for Solaris, regardless of
|
---|
339 | which compiler is used.
|
---|
340 |
|
---|
341 | \section2 CC
|
---|
342 |
|
---|
343 | See the notes for \l{Forte Developer / Sun Studio}.
|
---|
344 |
|
---|
345 | \section2 GCC
|
---|
346 |
|
---|
347 | Please use GCC 3.4.2 or later.
|
---|
348 |
|
---|
349 | Do not use GCC with Sun's assembler/linker, this will result in link-time
|
---|
350 | errors in shared libraries. Use GNU binutils instead.
|
---|
351 |
|
---|
352 | GCC 3.2.* is known to miscompile Qt due to an optimizer bug that will
|
---|
353 | cause the resulting binaries to hang.
|
---|
354 |
|
---|
355 | \section2 Forte Developer / Sun Studio
|
---|
356 |
|
---|
357 | Qt is tested using Sun Studio 12 (Sun CC 5.9). Go to
|
---|
358 | \l{Sun Studio Patches} page on Sun's Web site to download
|
---|
359 | the latest patches for your Sun compiler.
|
---|
360 |
|
---|
361 | Please note that Qt 4.6 is stricter in its STL requirements and
|
---|
362 | that the default STL implementation used by Sun CC does not pass
|
---|
363 | those requirements. This does not affect binary compatibility and
|
---|
364 | you can continue to use STL in your own code, but Qt's
|
---|
365 | STL-compatibility functions will be disabled.
|
---|
366 |
|
---|
367 | Sun CC ships with a secondary STL implementation (called stlport4)
|
---|
368 | which is standards-compliant and can be used by Qt. You can enable
|
---|
369 | it by passing the -library=stlport4 option to the compiler. Note
|
---|
370 | that this does not affect Qt's binary compatibility, but it may
|
---|
371 | affect that of other libraries and programs that use STL.
|
---|
372 |
|
---|
373 | \section2 Sun WorkShop 5.0
|
---|
374 |
|
---|
375 | Sun WorkShop 5.0 is not supported with Qt 4.
|
---|
376 | */
|
---|
377 |
|
---|
378 | /*!
|
---|
379 | \page platform-notes-windows.html
|
---|
380 | \title Platform and Compiler Notes - Windows
|
---|
381 | \contentspage Platform and Compiler Notes
|
---|
382 |
|
---|
383 | This page contains information about the Windows platforms Qt is currently
|
---|
384 | known to run on, with links to platform-specific notes. More information
|
---|
385 | about the combinations of platforms and compilers supported by Qt can be
|
---|
386 | found on the \l{Supported Platforms} page.
|
---|
387 |
|
---|
388 | \tableofcontents
|
---|
389 |
|
---|
390 | \section1 Windows Vista
|
---|
391 |
|
---|
392 | At the time Qt 4.7.3 was released, there were no known Vista-specific issues.
|
---|
393 |
|
---|
394 | \target Windows NT
|
---|
395 | \section1 Windows XP, Windows 2000 and Windows NT
|
---|
396 |
|
---|
397 | \section2 Installation location
|
---|
398 |
|
---|
399 | Installing Qt into a directory with spaces, e.g. C:\\Program Files, may
|
---|
400 | cause linker errors like the following:
|
---|
401 | \snippet doc/src/snippets/code/doc_src_platform-notes.qdoc 2
|
---|
402 |
|
---|
403 | Install Qt into a subdirectory without spaces to avoid this problem.
|
---|
404 |
|
---|
405 | \section2 Possible GL conflict
|
---|
406 |
|
---|
407 | There is a known issue with running Microsoft NetMeeting, Lotus SameTime
|
---|
408 | and other applications that require screen grabbing while direct
|
---|
409 | rendering is enabled. Other GL-applications may not work as expected,
|
---|
410 | unless direct rendering is disabled.
|
---|
411 |
|
---|
412 | \section2 GCC (MinGW)
|
---|
413 |
|
---|
414 | We have tested Qt with this compiler on Windows XP.
|
---|
415 | The minimal version of MinGW supported is GCC 4.4.
|
---|
416 |
|
---|
417 | \note For users of the MinGW binary package: This package is now
|
---|
418 | based on MinGW 4.4. The installer no longer offers to download
|
---|
419 | MinGW for you, but rather offers to use a version of MinGW that
|
---|
420 | you already have installed on your machine. You just tell the
|
---|
421 | installer which directory MinGW is installed in. If you don't
|
---|
422 | already have MinGW 4.4 installed, you can download a .zip archive
|
---|
423 | from our \l{ftp://ftp.trolltech.com/misc/MinGW-gcc440_1.zip}{FTP
|
---|
424 | site}. This archive provides fixes to MinGW and support for
|
---|
425 | missing API, See the _patches directory in the archive for
|
---|
426 | details.
|
---|
427 |
|
---|
428 | \note A MinGW installation is only needed to build against the
|
---|
429 | binary pacakge, not to run the pre-compiled binaries that are in
|
---|
430 | the package.
|
---|
431 |
|
---|
432 | \section2 Intel C++ Compiler (Windows, Altix)
|
---|
433 |
|
---|
434 | Qt 4 has been tested successfully with:
|
---|
435 |
|
---|
436 | \list
|
---|
437 | \o Windows - Intel(R) C++ Compiler for 32-bit applications,
|
---|
438 | Version 9.1.040.
|
---|
439 | \o Altix - Intel(R) C++ Itanium(R) Compiler for Itanium(R)-based
|
---|
440 | applications Version 8.1 Build 20050406 Package ID: l_cc_pc_8.1.030
|
---|
441 | \endlist
|
---|
442 |
|
---|
443 | We currently only test the Intel compiler on 32-bit Windows versions.
|
---|
444 |
|
---|
445 | \section2 Visual Studio (Windows)
|
---|
446 |
|
---|
447 | We do most of our Windows development on Windows XP, using Microsoft
|
---|
448 | Visual Studio .NET 2005 and Visual Studio 2008 (both the 32- and 64-bit
|
---|
449 | versions).
|
---|
450 |
|
---|
451 | Qt works with the Standard Edition, the Professional Edition and Team
|
---|
452 | System Edition of Visual Studio 2005.
|
---|
453 |
|
---|
454 | In order to use Qt with the Visual Studio 2005/2008 Express Edition you need
|
---|
455 | to download and install the platform SDK. Due to limitations in the
|
---|
456 | Express Edition it is not possible for us to install the Qt Visual
|
---|
457 | Studio Integration. You will need to use our command line tools to
|
---|
458 | build Qt applications with this edition.
|
---|
459 |
|
---|
460 | The Visual C++ Linker doesn't understand filenames with spaces (as in
|
---|
461 | \c{C:\Program files\Qt\}) so you will have to move it to another place,
|
---|
462 | or explicitly set the path yourself; for example:
|
---|
463 |
|
---|
464 | \snippet doc/src/snippets/code/doc_src_compiler-notes.qdoc 0
|
---|
465 |
|
---|
466 | If you are experiencing strange problems with using special flags that
|
---|
467 | modify the alignment of structure and union members (such as \c{/Zp2})
|
---|
468 | then you will need to recompile Qt with the flags set for the
|
---|
469 | application as well.
|
---|
470 |
|
---|
471 | If you're using Visual Studio .NET (2002) Standard Edition, you should be
|
---|
472 | using the Qt binary package provided, and not the source package.
|
---|
473 | As the Standard Edition does not optimize compiled code, your compiled
|
---|
474 | version of Qt would perform suboptimally with respect to speed.
|
---|
475 |
|
---|
476 | With Visual Studio 2005 Service Pack 1 a bug was introduced which
|
---|
477 | causes Qt not to compile, this has been fixed with a hotfix available
|
---|
478 | from Microsoft. See this
|
---|
479 | \l{http://qt.nokia.com/developer/faqs/faq.2006-12-18.3281869860}{Knowledge Base entry}
|
---|
480 | for more information.
|
---|
481 |
|
---|
482 | There currently is a problem when compiling Qt with Visual Studio 2010 for 64-bit.
|
---|
483 | Its optimizer causes trouble and generates code that crashes for the release builds.
|
---|
484 | To avoid the crashes, You need to apply the hotfix in the following article
|
---|
485 | http://support.microsoft.com/kb/2280741.
|
---|
486 | */
|
---|
487 |
|
---|
488 | /*!
|
---|
489 | \page platform-notes-mac.html
|
---|
490 | \title Platform and Compiler Notes - Mac OS X
|
---|
491 | \contentspage Platform and Compiler Notes
|
---|
492 |
|
---|
493 | This page contains information about the Mac OS X versions Qt is currently
|
---|
494 | known to run on, with links to platform-specific notes. More information
|
---|
495 | about the combinations of platforms and compilers supported by Qt can be
|
---|
496 | found on the \l{Supported Platforms} page.
|
---|
497 |
|
---|
498 | \tableofcontents
|
---|
499 |
|
---|
500 | \section1 General Information
|
---|
501 |
|
---|
502 | Qt 4.6 applications can only be deployed on Mac OS X 10.4 (Tiger)
|
---|
503 | and higher.
|
---|
504 |
|
---|
505 | Qt 4.4 and Qt 4.5 development is only supported on Mac OS X 10.4 and up.
|
---|
506 | Applications built against these version of Qt can be deployed on Mac OS X
|
---|
507 | 10.3, but cannot be developed on that version of the operating system due
|
---|
508 | to compiler issues.
|
---|
509 |
|
---|
510 | Qt 4.3 has been tested to run on Mac OS X 10.3.9 and up. See notes on
|
---|
511 | the binary package for more information.
|
---|
512 |
|
---|
513 | Qt 4.1 has been tested to run on Mac OS X 10.2.8 and up. Qt 4.1.4 is the
|
---|
514 | last release to work with Mac OS X 10.2.
|
---|
515 |
|
---|
516 | \section2 Required GCC version
|
---|
517 |
|
---|
518 | Apple's GCC 4 that is shipped with the Xcode Tools for both Mac OS X 10.4
|
---|
519 | and 10.5 will compile Qt. There is preliminary support for GCC 4.2 which
|
---|
520 | is included with Xcode Tools 3.1+ (configurable with
|
---|
521 | \c{-platform macx-g++42}).
|
---|
522 |
|
---|
523 | Please use the latest GCC 3.3 from Apple or a later version of GCC 3.
|
---|
524 | The GCC 3.3 that is provided with Xcode 1.5 is known to generate bad code.
|
---|
525 | Use the November 2004 GCC 3.3 updater \l{http://connect.apple.com}{available from Apple}.
|
---|
526 |
|
---|
527 | \section2 Binary Package
|
---|
528 |
|
---|
529 | The binary package requires that you have your .qt-license file in your
|
---|
530 | home directory. Installer.app cannot complete without a valid .qt-license
|
---|
531 | file. Evaluation users of Qt will have information about how to create
|
---|
532 | this file in the email they receive.
|
---|
533 |
|
---|
534 | The binary package was built on Mac OS X 10.4 with Xcode Tools 2.1
|
---|
535 | (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
|
---|
536 | and Xcode Tools 2.3 for 4.2.0. It will only link executables built
|
---|
537 | against 10.4 (or a 10.4 SDK). You should be able to run applications
|
---|
538 | linked against these frameworks on Mac OS X 10.3.9 and Mac OS X 10.4+.
|
---|
539 | If you require a different configuration, you will have to use the
|
---|
540 | source package and build with GCC 3.3.
|
---|
541 |
|
---|
542 | \section2 Mac OS X on Intel hardware
|
---|
543 |
|
---|
544 | Qt 4 fully supports both the Intel and PowerPC architectures on the Mac.
|
---|
545 | As of Qt 4.1 it is possible to support the Intel architecture by
|
---|
546 | creating Universal Binaries with qmake. As of Qt 4.1 it is possible to
|
---|
547 | build Qt as a set of universal binaries and frameworks from configure by
|
---|
548 | adding these extra flags:
|
---|
549 |
|
---|
550 | \snippet doc/src/snippets/code/doc_src_platform-notes.qdoc 3
|
---|
551 |
|
---|
552 | If you are building on Intel hardware you can omit the sdk parameter, but
|
---|
553 | PowerPC hardware requires it.
|
---|
554 |
|
---|
555 | You can also generate universal binaries using qmake. Simply add these
|
---|
556 | lines to your .pro file:
|
---|
557 |
|
---|
558 | \snippet doc/src/snippets/code/doc_src_platform-notes.qdoc 4
|
---|
559 |
|
---|
560 | \section2 Build Issues
|
---|
561 |
|
---|
562 | If Qt does not build upon executing make, and fails with an error message
|
---|
563 | such as
|
---|
564 |
|
---|
565 | \snippet doc/src/snippets/code/doc_src_platform-notes.qdoc 5
|
---|
566 |
|
---|
567 | this could be an indication you have upgraded your version of Mac OS X
|
---|
568 | (e.g. 10.3 to 10.4), without upgrading your Developer Tools (Xcode Tools).
|
---|
569 | These must match in order to successfully compile files.
|
---|
570 |
|
---|
571 | Please be sure to upgrade both simultaneously. If problems still occur,
|
---|
572 | contact support.
|
---|
573 |
|
---|
574 | \section2 Fink
|
---|
575 |
|
---|
576 | If you have installed the Qt for X11 package from \l{Fink},
|
---|
577 | it will set the QMAKESPEC environment variable to darwin-g++. This will
|
---|
578 | cause problems when you build the Qt for Mac OS X package. To fix this, simply
|
---|
579 | unset your QMAKESPEC or set it to macx-g++ before you run configure.
|
---|
580 | You need to have a fresh Qt distribution (make confclean).
|
---|
581 |
|
---|
582 | \section2 MySQL and Mac OS X
|
---|
583 |
|
---|
584 | There seems to be a issue when both -prebind and -multi_module are
|
---|
585 | defined when linking static C libraries into dynamic library. If you
|
---|
586 | get the following error message when linking Qt:
|
---|
587 |
|
---|
588 | \snippet doc/src/snippets/code/doc_src_platform-notes.qdoc 6
|
---|
589 |
|
---|
590 | re-link Qt using -single_module. This is only a problem when building the
|
---|
591 | MySQL driver into Qt. It does not affect plugins or static builds.
|
---|
592 |
|
---|
593 | \section2 Qt and Precompiled Headers (PCH)
|
---|
594 |
|
---|
595 | Starting with Qt 3.3.0 it is possible to use precompiled headers. They
|
---|
596 | are not enabled by default as it appears that some versions of Apple's
|
---|
597 | GCC and make have problems with this feature. If you want to use
|
---|
598 | precompiled headers when building the Qt source package, specify the
|
---|
599 | -pch option to configure. If, while using precompiled headers, you
|
---|
600 | encounter an internal compile error, try removing the -include header
|
---|
601 | statement from the compile line and trying again. If this solves the
|
---|
602 | problem, it probably is a good idea to turn off precompiled headers.
|
---|
603 | Also, consider filing a bug report with Apple so that they can
|
---|
604 | improve support for this feature.
|
---|
605 | */
|
---|
606 |
|
---|
607 | /*!
|
---|
608 | \page platform-notes-windows-ce.html
|
---|
609 | \title Platform and Compiler Notes - Windows CE
|
---|
610 | \contentspage Platform and Compiler Notes
|
---|
611 |
|
---|
612 | This page contains information about the Windows CE and Windows Mobile
|
---|
613 | platforms Qt is currently known to run on, with links to platform-specific
|
---|
614 | notes. More information about the combinations of platforms and compilers
|
---|
615 | supported by Qt can be found on the \l{Supported Platforms} page.
|
---|
616 | */
|
---|
617 |
|
---|
618 | /*!
|
---|
619 | \page platform-notes-symbian.html
|
---|
620 | \title Platform and Compiler Notes - Symbian
|
---|
621 | \contentspage Platform and Compiler Notes
|
---|
622 | \ingroup platform-specific
|
---|
623 | \brief Information about the state of support for the Symbian platform.
|
---|
624 |
|
---|
625 | As with any port, the maturity for Qt for Symbian has not yet reached the
|
---|
626 | same level as other established Qt ports. This page documents the current
|
---|
627 | notes for the Symbian port.
|
---|
628 |
|
---|
629 | \section1 Source Compatibility
|
---|
630 |
|
---|
631 | Qt for Symbian provides the same level of source compatibility guarantee as
|
---|
632 | given for other platforms. That is, a program which compiles against a given
|
---|
633 | version of Qt for Symbian will also compile against all future versions of the
|
---|
634 | same major release.
|
---|
635 |
|
---|
636 | \section1 Binary Compatibility
|
---|
637 |
|
---|
638 | As with every supported platform, we will strive to maintain
|
---|
639 | application behavior and binary compatibility throughout the lifetime of
|
---|
640 | the Qt 4.x series. However, due to the fact that Symbian support is newly
|
---|
641 | added in 4.6.0, there is a slight possibility that minor corrections to the
|
---|
642 | application binary interface (ABI) might be required in 4.6.1, in order to
|
---|
643 | ensure compatibility going forward. Any such change will be clearly
|
---|
644 | documented in the release notes for 4.6.1.
|
---|
645 |
|
---|
646 | \section1 Supported Devices
|
---|
647 |
|
---|
648 | Qt is designed to work on any device which runs one of the following
|
---|
649 | versions of Symbian:
|
---|
650 |
|
---|
651 | \table
|
---|
652 | \header \o Symbian Version
|
---|
653 | \row \o S60 3.1
|
---|
654 | \row \o S60 3.2
|
---|
655 | \row \o S60 5.0 (Symbian ^1)
|
---|
656 | \endtable
|
---|
657 |
|
---|
658 | Qt has received \l{Tier 1 Platforms}{Tier 1} testing on the following phone models:
|
---|
659 |
|
---|
660 | \table
|
---|
661 | \header \o Phone
|
---|
662 | \row \o Nokia 5800
|
---|
663 | \row \o Nokia E71
|
---|
664 | \row \o Nokia E72
|
---|
665 | \row \o Nokia N78
|
---|
666 | \row \o Nokia N95
|
---|
667 | \row \o Nokia N97
|
---|
668 | \row \o Samsung i8910
|
---|
669 | \endtable
|
---|
670 |
|
---|
671 | \section1 Supported Functionality
|
---|
672 |
|
---|
673 | The following technologies and classes are not currently supported:
|
---|
674 |
|
---|
675 | \table
|
---|
676 | \header \o Technology
|
---|
677 | \o Note
|
---|
678 | \row \o QtConcurrent
|
---|
679 | \o Planned for future release.
|
---|
680 | \row \o QtDBus
|
---|
681 | \o No current plans to support this feature.
|
---|
682 | \row \o QtOpenGL ES
|
---|
683 | \o Planned for future release.
|
---|
684 | \row \o Printing support
|
---|
685 | \o No current plans to support this feature.
|
---|
686 | \row \o Qt3Support
|
---|
687 | \o No current plans to support this feature.
|
---|
688 | \endtable
|
---|
689 |
|
---|
690 | The following technologies have limited support:
|
---|
691 |
|
---|
692 | \table
|
---|
693 | \header \o Technology
|
---|
694 | \o Note
|
---|
695 | \row \o QtSql
|
---|
696 | \o The only driver supported is SQLite.
|
---|
697 | \row \o QtMultimedia
|
---|
698 | \o Although the module itself is supported, no backend for Symbian
|
---|
699 | is currently available. However, there is a backend available
|
---|
700 | for Phonon.
|
---|
701 | \endtable
|
---|
702 |
|
---|
703 | \section1 Compiler Notes
|
---|
704 |
|
---|
705 | \section2 GCCE (Symbian)
|
---|
706 |
|
---|
707 | GCCE cannot be used to compile Qt libaries for the Symbian platform, but GCCE is supported
|
---|
708 | when compiling Qt applications for the Symbian platform.
|
---|
709 |
|
---|
710 | \section1 Known Issues
|
---|
711 |
|
---|
712 | Known issues can be found by visiting the
|
---|
713 | \l{http://qt.gitorious.org/qt/pages/QtKnownIssues}{wiki page} with an
|
---|
714 | up-to-date list of known issues, and the list of bugs can be found by
|
---|
715 | \l{http://bugreports.qt.nokia.com/browse/QTBUG/component/19171}{browsing} the
|
---|
716 | S60 component in Qt's public task tracker, located at
|
---|
717 | \l{http://bugreports.qt.nokia.com/}{http://bugreports.qt.nokia.com/}.
|
---|
718 |
|
---|
719 | For information about mixing exceptions with Symbian leaves, see
|
---|
720 | \l{Exception Safety with Symbian}.
|
---|
721 |
|
---|
722 | \section1 Required Capabilities
|
---|
723 |
|
---|
724 | The Qt libraries are typically signed with \c{All -TCB} capabilites, but
|
---|
725 | that does not mean your Qt application needs to be signed with the same
|
---|
726 | capabilities to function properly. The capabilities your application needs
|
---|
727 | to function properly depends on which parts of Qt you use, here is an
|
---|
728 | overview:
|
---|
729 |
|
---|
730 | \table
|
---|
731 | \header \o Module
|
---|
732 | \o Required Symbian Capability
|
---|
733 | \row \o QtCore
|
---|
734 | \o \c PowerMgmt if QProcess::kill(...) or QProcess::terminate(...) is called.
|
---|
735 | \row \o QtCore
|
---|
736 | \o \c AllFiles when \l{http://developer.symbian.org/wiki/index.php/Capabilities_%28Symbian_Signed%29/AllFiles_Capability}{accessing specific areas.}
|
---|
737 | \row \o QtDeclarative
|
---|
738 | \o \c NetworkServices is automatically added for this module.
|
---|
739 | \row \o QtNetwork
|
---|
740 | \o \c NetworkServices is automatically added for this module.
|
---|
741 | \row \o QtNetwork
|
---|
742 | \o \c ReadUserData is required to include all the phone's SSL certificates in the system's default CA certificate list
|
---|
743 | (for example those added by the user or stored in the SIM card),
|
---|
744 | without this capability only the CA certs built into the phone are used.
|
---|
745 | \row \o QtMultiMedia
|
---|
746 | \o \c UserEnvironment if QAudioInput is used.
|
---|
747 | \row \o QtWebkit
|
---|
748 | \o \c NetworkServices is automatically added for this module.
|
---|
749 | \endtable
|
---|
750 |
|
---|
751 | \note Some modules rely on other modules. E.g. QtWebkit and QtDeclarative
|
---|
752 | depend on QtNetwork and therefore any application that
|
---|
753 | depends on these modules is also likely to need \c NetworkServices capability.
|
---|
754 |
|
---|
755 | For more information see the documentation of the individual Qt classes. If
|
---|
756 | a class does not mention Symbian capabilities, it requires none.
|
---|
757 |
|
---|
758 | \section1 Multimedia and Phonon Support
|
---|
759 |
|
---|
760 | Qt provides a backend for Qt's Phonon module, which supports
|
---|
761 | video and sound playback through Symbian's Multimedia Framework, MMF.
|
---|
762 |
|
---|
763 | In this release the support is experimental. Video playback may have
|
---|
764 | flickering issues, and support for effects and playback queueing is
|
---|
765 | incomplete.
|
---|
766 |
|
---|
767 | The audio and video formats that Phonon supports depends on what support
|
---|
768 | the platform provides for MMF. The emulator is known to have limited
|
---|
769 | codec support.
|
---|
770 |
|
---|
771 | In addition, there exists a backend for the Helix framework. However, due
|
---|
772 | to it not shipping with Qt, its availability depends on the Symbian
|
---|
773 | platform in use. If available, it is loaded in preference over the MMF
|
---|
774 | plugin. If the Helix plugin fails to load, the MMF plugin, if present on
|
---|
775 | the device, will be loaded instead.
|
---|
776 |
|
---|
777 | \section1 UI Performance in devices prior to Symbian^3
|
---|
778 |
|
---|
779 | Qt uses the QPainter class to perform low-level painting on widgets and
|
---|
780 | other paint devices. QPainter provides functions to draw complex shapes,
|
---|
781 | aligned text and pixmaps. It can also do vector path clipping, coordinate
|
---|
782 | transformations and Porter-Duff composition. If the underlying graphics
|
---|
783 | architecture does not support all of these operations then Qt uses the
|
---|
784 | raster graphics system for rendering.
|
---|
785 |
|
---|
786 | Most of the Symbian devices prior to Symbian^3 use a non-ScreenPlay
|
---|
787 | graphics architecture which does not have native support for all functions
|
---|
788 | provided by QPainter. In non-ScreenPlay devices Qt uses the raster
|
---|
789 | graphics system by default which has a performance penalty when compared
|
---|
790 | to native Symbian rendering.
|
---|
791 |
|
---|
792 | In order to be able to perform all functions provided by QPainter, the
|
---|
793 | raster graphics system needs to have pixel level framebuffer access. To
|
---|
794 | make this possible in non-ScreenPlay devices Qt has to create an
|
---|
795 | additional offscreen buffer that is the target for all Qt rendering
|
---|
796 | operations. Qt renders the widget tree to the offscreen buffer and the
|
---|
797 | offscreen buffer is blitted to the framebuffer via Symbian Window Server.
|
---|
798 |
|
---|
799 | The following table shows the rendering stacks of native Symbian and Qt in
|
---|
800 | non-ScreenPlay devices.
|
---|
801 |
|
---|
802 | \table
|
---|
803 | \header \o Symbian
|
---|
804 | \o Qt
|
---|
805 | \row \o \image symbian-rendering-stack-non-screenplay.png
|
---|
806 | \o \image symbian-qt-rendering-stack-non-screenplay.png
|
---|
807 | \endtable
|
---|
808 |
|
---|
809 | The following diagrams show a simplified sequence of drawing a pixmap in
|
---|
810 | a non-ScreenPlay device.
|
---|
811 |
|
---|
812 | \table
|
---|
813 | \header \o Symbian
|
---|
814 | \row \o \image symbian-draw-pixmap-sequence.png
|
---|
815 | \endtable
|
---|
816 |
|
---|
817 | \table
|
---|
818 | \header \o Qt
|
---|
819 | \row \o \image symbian-qt-draw-pixmap-sequence.png
|
---|
820 | \endtable
|
---|
821 |
|
---|
822 | When compared to a native Symbian application, Qt does an additional blit
|
---|
823 | to the offscreen buffer before drawing to the framebuffer. That is the
|
---|
824 | performance penalty which needs to be paid to get all functionality
|
---|
825 | provided by QPainter in non-ScreenPlay architecture.
|
---|
826 | */
|
---|
827 |
|
---|
828 | /*!
|
---|
829 | \page platform-notes-embedded-linux.html
|
---|
830 | \title Platform and Compiler Notes - Embedded Linux
|
---|
831 | \contentspage Platform and Compiler Notes
|
---|
832 |
|
---|
833 | This page contains information about the Embedded Linux platforms Qt is
|
---|
834 | currently known to run on, with links to platform-specific notes. More
|
---|
835 | information about the combinations of platforms and compilers supported
|
---|
836 | by Qt can be found on the \l{Supported Platforms} page.
|
---|
837 | */
|
---|