source: trunk/README.OS2@ 940

Last change on this file since 940 was 894, checked in by Dmitry A. Kuminov, 14 years ago

README.OS2: Mention the required version of RC.EXE (see #220).

File size: 30.5 KB
Line 
1This is Qt version 4.6.3 for OS/2 and eCS.
2
3This document contains a brief information on the OS/2 version of the Qt
4library. Please read it carefully before starting your work. You may also
5visit the project page at
6
7 http://svn.netlabs.org/qt4/wiki
8
9to get more information and the latest news and also to report bugs.
10
11To get a brief list of OS/2-specific changes from release to release
12please see the CHANGES.OS2 file included in this distribution.
13
14Please note that this version is binary incompatible with previous versions of
15Qt 4 for OS/2! This is not a behavior of the original Qt library (where versions
16with the same major number are usually binary compatible), but it is due to the
17fact that we continue to add missing features to the OS/2 version ot Qt and this
18cannot be done witout breaking the binary compatibility. On practice, this means
19that you need to recompile your applications with the new version of the Qt
20library in order to make them work with it.
21
22
23
24REQUIREMENTS
25
26In order to compile the Qt library and Qt-based applications, you will need
27the following tools:
28
29 - One of the OS/2 Warp 4, OS/2 Warp 4.5 or eComStation operating systems.
30
31 - GCC compiler version 4.4.2 for OS/2, patched OpenWatcom linker and
32 GNU Make 3.81beta1 or above. The GCC compiler must be set up to use the
33 OpenWatcom linker for linking.
34
35 If you do not have a working GCC environment with the above requirements, it
36 is recommended to download a ready-to-use GCC 4.2.2 distribution from here:
37
38 ftp://ftp.netlabs.org/pub/qt4/gcc-4_4_2-complete-20091205.zip
39
40 This distribution includes all tools necessary to compile and build the Qt
41 library from the source code. Just follow the installation instructions
42 contained in the README file inside this ZIP archive to set up the GCC
43 environment.
44
45 Please note that starting from Qt 4.6.2, support for GCC 3.3.5 and earlier
46 versions of the compiler has been dropped and the Qt library will most
47 likely not build if you use one of these compilers. Later versions prior to
48 GCC 4.4.2 may work but they are not tested and not supported.
49
50 - IBM RC (Resource Compiler) Version 5.00.007 (comes with OS/2 Toolkit 4.5)
51 or Version 4.00.011 (comes with eCS 2.0). Other versions may not work
52 correctly.
53
54There is also a set of optional tools which are necessary to enable the selected
55features of the Qt library. If these tools are missing, the Qt configuration
56script (discussed in section "COMPILING QT" below) will automatically disable
57the corresponding feature:
58
59 - LxLite 1.3.3 or above (not tested) to enable the compression of Qt DLLs and
60 application executables (which saves hard disk space and application startup
61 time). If you use a recent version of eComStation (e.g. 2.0 rc6) you will
62 already have LxLite installed. Otherwise, you may take it from here:
63
64 http://www.os2site.com/sw/util/archiver/lxlt133.zip
65
66 - CUPS 1.3.11 or later to support printing in Qt. The CUPS libraries are
67 available at:
68
69 http://download.smedley.info/cups-1.3.11-os2-20090807.zip
70
71 Linking against eCUPS also requires pthread.lib:
72
73 http://web.os2power.com/download/lib/pthread-20100217-os2.zip
74
75 - OpenSSL 0.9.8o or later to support OpenSSL in Qt. The OpenSSL libraries are
76 available at:
77
78 http://bauxite.sakura.ne.jp/tmp/os2/openssl-1.0.0a-os2knix-20100706-runtime.zip
79 http://bauxite.sakura.ne.jp/tmp/os2/openssl-1.0.0a-os2knix-20100706-dev.zip
80
81 - MySQL 5.1 or later for the MySQL Qt plugin. The MySQL libraries are
82 available at:
83
84 http://download.smedley.info/mysql-5.1.51-os2-20101001.zip
85
86 Note that you will also need the above OpenSSL libraries and pthread.lib to
87 be able to use this MySQL build. The MySQL Qt plugin itself will require
88 OpenSSL DLLs in your LIBPATH at runtime.
89
90 - PostgersSQL 9.0.1 or later to support the PostgresSQL Qt plugin. The
91 PostgresSQL libraries are available at:
92
93 http://download.smedley.info/postgresql-9.0.1-os2-20101108.zip
94
95 Note that you will also need libc064x.dll for this PostgresSQL build:
96
97 http://download.smedley.info/libc064x.zip
98
99 Note that you will also need the above OpenSSL libraries and pthread.lib to
100 be able to use this PostgresSQL build. The PostgresSQL Qt plugin itself will
101 require OpenSSL DLLs in your LIBPATH at runtime.
102
103
104
105SETTING UP THE ENVIRONMENT
106
107First of all, make sure that your GCC environment is set up and meets the
108specified requirements. To perform a quick check, you may run the following
109command:
110
111 gcc --version && make --version && wl /version
112
113If the setup is done properly, it will print the versions of the key tools
114to the console.
115
116The next step is to set up the Qt environment. If you installed the Qt
117development libraries from the WPI archive (refer to section "USING OFFICIAL
118BINARY QT ARCHIVES" below for more details about existing WPI archives), you
119will only need to run the supplied "QtEnv.cmd" script which will do all the
120setup job for you. The script is located in the directory where you installed
121the developmnent libraries (or in the WPS folder created by the WPI installer).
122Execute this script in a command line session to make it ready for building
123Qt 4 applications (for example, using the "qmake" command follwed by "make"
124for applications based on qmake project files which most of them are). If you
125go that way, you may skip the rest of this section and proceed directly to
126section "USING OFFICIAL BINARY QT ARCHIVES" below.
127
128If you use the full source code ZIP distribution of the Qt library or work
129directly with the Qt SVN tree, you will need to set up the environment yourself
130by performing the following steps:
131
132 - Add the "bin" subdirectory of the directory where you unpacked the Qt4
133 source tree to PATH and BEGINLIBPATH, like this:
134
135 set PATH=D:\Coding\Qt4\bin;%PATH%
136 set BEGINLIBPATH=D:\Coding\Qt4\bin;%BEGINLIBPATH%
137
138 - Add the system DLLs to the GCC library path with the following command:
139
140 set LIBRARY_PATH=C:\OS2\DLL;C:\MPTN\DLL;%LIBRARY_PATH%
141
142 where C: is your boot drive.
143
144 - Make sure CMD.EXE is your command line processor (the generated makefiles
145 will rely on its 'copy', 'if' and other commands). If you have a Unix shell
146 (SH.EXE) in your environment, you may need to force GNU make to use CMD.EXE
147 by executing the followingn command:
148
149 set MAKESHELL=C:\OS2\CMD.EXE
150
151 where C: is your boot drive.
152
153Note that the QTDIR environment variable used in previous Qt versions is not
154used in Qt4 anymore. Therefore, there is no need to set this variable
155explicitly.
156
157There is also no need to set the QMAKESPEC variable explicitly. If it is absent,
158qmake will use the specification stored in the <Qt4_Home>/mkspecs/default
159directory, which on OS/2 always refers to the "os2-g++" specification, the only
160one supported at the present time.
161
162NOTE:
163
164 It is especially important to make sure that there are no traces of any
165 other Watcom or OpenWatcom installation in the environment where you build
166 Qt as it will interfere with the patched OpenWatcom linker we use. This
167 basically means removing all environment variables containing "WATCOM" in
168 their names and also removing references to all those Watcom installations
169 from PATH.
170
171
172
173SETTING UP OPTIONAL TOOLS
174
175The following list describes the steps necessary to set up the optional tools
176that the Qt library depends on:
177
178 - Unzip the CUPS libraries to some directory and set the following environment
179 variables to tell the Qt configure script its location:
180
181 set CUPS_INCLUDEPATH=<path_to_CUPS>\include
182 set CUPS_LIBS=-L<path_to_CUPS>\lib -llibcups.a -L<path_to_pthread> -lpthread.lib
183
184 - Unzip the OpenSSL libraries to some directory and set the following
185 environment variables to tell the Qt configure script its location:
186
187 set OPENSSL_INCLUDEPATH=<path_to_OpenSSL>\include
188 set OPENSSL_LIBS=
189
190 Note that you will also need to place OpenSSL DLLs to BEGINLIBPATH (if they
191 are not already in your LIBPATH) so that Qt applications can find them at
192 runtime:
193
194 set BEGINLIBPATH=<path_to_OpenSSL>\dll;%BEGINLIBPATH%
195
196 - Unzip the MySQL archive to some directory and set the following environment
197 variables to tell the Qt configure script the library location:
198
199 set MYSQL_INCLUDEPATH=<path_to_MySQL>\include'
200 set MYSQL_LIBS=-L<path_to_MySQL>\lib -lmysqlclient_r -L<path_to_OpenSSL>\lib -llibssl -llibcrypto -L<path_to_pthread> -lpthread
201
202 Note that you will also need to place OpenSSL DLLs to BEGINLIBPATH (as
203 described above) because the MySQL plugin links statically to them and Qt
204 will not be able to load it otherwise.
205
206 - Unzip the PostgresSQL archive to some directory and set the following
207 environment variables to tell the Qt configure script the library location:
208
209 set PSQL_INCLUDEPATH=<path_to_PostgresSQL>\include'
210 set PSQL_LIBS=-L<path_to_PostgresSQL>\lib -llibpq -L<path_to_OpenSSL>\lib -llibssl -llibcrypto -L<path_to_pthread> -lpthread
211
212 Note that you will also need to place OpenSSL DLLs to BEGINLIBPATH (as
213 described above) because the PostgresSQL plugin links statically to them and
214 Qt will not be able to load it otherwise.
215
216Note that you need to make sure that OpenSSL DLLs are in BEGINLIBPATH or in
217LIBPATH before Qt attempts to load the SQL plugins for the first time. If it
218fails to load them, it will cache a failure and will not retry even if the
219plugins can be loaded later. To fix that, you need to delete the file
220%HOME%\.config\Trolltech.ini where this cache is stored.
221
222
223
224COMPILING QT
225
226You should skip this section if you installed the Qt development libraries using
227the WPI archive (that already contains compiled release versions of the
228libraries) and proceed directly to the next section.
229
230When the environment is set up, go to the directory where you unpacked the
231Qt4 source tree and type:
232
233 configure.cmd
234
235This will set up the Qt library (by creating necessary configuration and include
236files and a bunch of Makefiles for variuos components) and build the qmake tool.
237
238The next step is to type:
239
240 make
241
242This will compile and link the Qt library. Note that by default both the release
243and the debug version of the library are built (please be patient, it may take
244quite some time depending on your hardware). The release and debug libraries can
245co-exist in the same source tree and may be used in parallel: all the debug DLLs
246get a 'd' letter in their name preceeding the Qt major version number and use
247separate directories for object files.
248
249To save time, you may build the release and the debug versions of the Qt library
250separately by typing 'make release' or 'make debug' accordingly instead of just
251'make'.
252
253Once the library is successfully built, you may try to compile the demos and
254examples by visiting the individual example subdirectories in the source tree
255and typing 'qmake' followed by one of 'make', 'make release' or 'make debug'
256in that subdirectory.
257
258NOTE:
259
260 This version of Qt for OS/2 includes the Extended system tray plugin for
261 XCenter/eCenter which is necessary to enable Qt support for the special
262 notification area on the XCenter/eCenter panel (called the "system tray")
263 which is used by many long-running applications to display their status.
264 In order to activate this support, you need to install this plugin to your
265 XCenter or eCenter. The plugin is built during the normal Qt build process
266 and can be found in the file \plugins\xcenter\xsystray.dll in the Qt source
267 tree. In order to install the plugin, do the following:
268
269 a. Copy xsystray.dll to <XWorkplace installation folder>\plugins\xcenter\
270 (on eComStation, this will be C:\ecs\system\ewps\plugins\xcenter\ where
271 C: is your boot drive).
272
273 b. Restart WPS.
274
275 c. Add the "Extended system tray" widget to the XCenter/eCenter panel using
276 the XCenter context menu ('Create new widget').
277
278 Note that if you upgrade from the previous version of the plugin then
279 please unlock xsystray.dll in the target folder using the UNLOCK.EXE
280 utility (which you can find in the LxLite package, for example) before
281 performing step a., otherwise the copy operation will fail.
282
283IMPORTANT NOTE:
284
285 Please take into account that the Qt library you build on your own as
286 described above is NOT intended for wide distribution with Qt applications
287 you port or create. Such private Qt builds help you develop Qt applications
288 (because you can easily debug your program and parts of the Qt framework at
289 the source level) but being widely distributed they will create a so-called
290 DLL hell when a program running on a user computer crashes because it picks
291 up a wrong build of the Qt library. This will happen because even a single
292 change to Qt configuration options may make your build binary incompatible
293 with another build. And even if you convince the user to isolate different
294 DLLs (using LIBPATHSTRICT and BEGINLIBPATH) it will create another major
295 problem: two different Qt applications will load two different copies of Qt
296 into memory which will create an unnecessary overhead by doubling the
297 amount of used system resources.
298
299 In order to nicely solve this problem, netlabs.org provides the official
300 binary builds of the Qt library distributed as WPI archives which are
301 described in the next section.
302
303
304
305USING OFFICIAL BINARY QT ARCHIVES
306
307For your convenience, netlabs.org provides the following binary distributions
308of the Qt library (where X_Y_Z is the Qt version number) distributed as WPI
309archives:
310
311 qt-lib-X_Y_Z.wpi - Runtime DLLs and binaries ("lib" archive)
312 qt-dev-X_Y_Z.wpi - Development libraries, tools and headers ("dev" archive)
313
314These archives are called the official binary archives of the Qt library for
315OS/2. An official binary archive contains the most complete Qt build that
316enables all features of the Qt library and includes all standard Qt plugins
317implemented for the OS/2 platform at the time of the release.
318
319The "lib" archive contains the release versions of DLLs (and may contain a few
320helper binaries) necessary to run applications created using the Qt framework.
321This package is usually installed by end users together with Qt applications
322they want to use.
323
324The "dev" archive contains pre-built release versions of import libraries and
325a complete set of C++ include headers of the Qt framework. This package is used
326by developers and porters of Qt applications to build release versions of the
327applications that are binary compatibie with the Qt runtime provided by the
328official "lib" archive described above. Using the "dev" package requires the
329same environment as described in section "SETTING UP THE ENVIRONMET" above.
330
331Please note again that the "dev" archive is intended to make a final release
332build of the Qt application which you do when you decide to ship a new version
333to the end users -- makes sure that the deployed application will share the same
334Qt runtime with other Qt applications. However, for daily work it is highly
335recommended that you build the debug version of the Qt library yourself (using
336the full source code ZIP archive or directly from SVN) as described in section
337"COMPILING QT").
338
339Besides the "lib" and the "dev" archives, the following official archives exist
340that you may also find useful:
341
342 qt-examples-X_Y_Z.wpi - Demo and example sources ("examples")
343
344The "examples" archive contains the source code and compiled binaries of the
345demo and example applications shipped with Qt. They serve as a good
346demonstration of the Qt library features and it is recommended to look at them.
347The binaries are compiled using the official "lib" archive. Please note that
348some demos and examples may miss from the arcvhice since not all features have
349been implemented in the OS/2 version of Qt yet.
350
351NOTE:
352
353 All .DLL and .EXE files of the official binary build contain a DESCRIPTION
354 string with the vendor field set to "netlabs.org" (by contrast, all custom
355 Qt builds will set the vendor field to what the USER environment variable
356 contains or to "anonymous" if USER is not set). Please note that you must
357 NOT set vendor to "netlabs.org" when creating your own builds of the Qt
358 library because it will make it difficult to identify various distributions
359 and track possible problems with the builds.
360
361
362
363QMAKE CONFIG OPTIONS
364
365The following CONFIG options of the qmake tool have a special meaning in OS/2:
366
367 windows Turns on generation of PM (WINDOWAPI) executables. By
368 default, this option is set for release builds that link
369 to the Qt GUI library.
370
371 console Turns on generation of text mode (WINDOWCOMPAT) executables.
372 By default, this option is set when setting the "windows"
373 option is not appropriate (see above).
374
375In addition, qmake recognizes the following OS/2-specific CONFIG options:
376
377 map Turns on generation of the .map files for executables and
378 DLLs. This option is set by default.
379
380 exepack Turns on compression for executables and DLLs. The option is
381 turned on by default for release builds if configure.cmd
382 finds a compression tool (LxLite) in PATH.
383
384 highmem Turns on high memory usage for dynamically allocated memory
385 in DLLs and executables. When this option is set, a special
386 compiler flag (-Zhigh-mem for GCC) is used to enable high
387 memory support in the C library (LIBC). This option is set
388 by default so that all Qt DLLs and Qt applications built
389 with qmake are enabled for high memory. Note that high
390 memory support must be enabled for all LIBC-based DLLs
391 linked to the executable as well as for the executable
392 itself: high memory usage will be disabled if one of them
393 votes against it.
394
395 export_all Cause the linker to export all public symbols in a generated
396 DLL. By default (when this option is absent), only the
397 symbols marked with the __declspec(dllexport) compiler
398 directive in the source files.
399
400
401
402PRINTING SUPPORT
403
404Starting with version 4.6.2, Qt for OS/2 supports printing through the CUPS
405framework (provided that this support is enabled when building Qt, see the
406respective sections in the beginning of this document). The OS/2 implementation
407of the CUPS framework is provided by the eCUPS package available at
408http://svn.netlabs.org/ecups/.
409
410The Qt Runtime detects the presence of eCUPS in the system on the fly and talks
411to the CUPS daemon directly, bypassing the standard OS/2 printing subsystem.
412This means that in order to print from Qt applications, you don't need to create
413and configure printer objects using the standard OS/2 system printer setup
414procedure -- you only need to install eCUPS and configure your printers in
415there. Please refer to the eCUPS user manual to obtain the detailed instructions
416on how to configure CUPS printers.
417
418
419
420FILE WATCHING FUNCTION
421
422Qt supports a mechanism of notifying Qt applications about changes to the file
423system, such as creating files or directories, changing their attributes or
424deleting them, even if these changes are performed outside Qt applications. In
425particular, this is used in standard Qt open file dialogs where you can
426instantly observe changes made to the directory contents by third-party
427applications running in the background.
428
429In order to support this functionality on OS/2, Qt relies on the file watching
430mechanism provided by the Presentation Manager. This mechanism is a global
431system resource so that only one process may use it at a time. In a standard
432installation of OS/2 or eComStation this resource is exclusively used by the
433Workplace Shell and is not available to other applications. In order to overcome
434this limitation, a respective function was included to xWorkplace, the famous
435WPS extension (which lives inside the WPS process), starting with version 1.0.8.
436This function allows any number of other processes to receive notifications
437about file system changes and it gets utilized by Qt as well.
438
439If an earlier version of xWorkplace is installed on the user system, or if no
440xWorkplace extension is present at all, Qt uses its own method of detecting
441file system changes which is based on polling the directory contents in regular
442intervals. While this method works well for a small number of watched
443directories with just few files in them, it may significantly slow down the
444system if you work with a directory containing thousands of files.
445
446Therefore, is strongly recommended to install or upgrade to xWorkplace version
4471.0.8 or above to make sure that you will not suffer from the described problem.
448You will also need to make sure that the "Enable folder auto-refresh" check box
449located on the "Folder Views" page in the Workplace Shell settings notebook is
450turned on in order to enable the notification mechanism (note that you may need
451to reboot after changing its state).
452
453
454
455ENVIRONMENT VARIABLES
456
457The Qt library recognizes a number of OS/2-specific environment variables that
458affect its functionality at runtime. The table below lists these variables and
459their meaning:
460
461 QT_PM_NO_DIVE If set, Qt will not use DIVE (direct interface video
462 extensions) for painting widgets even if DIVE (which
463 provides a much faster painting speed than the
464 regular GPI approach) is available. Currently, this
465 is the default setting if the Panorama video driver
466 is detected because its DIVE implementation contains
467 a number of bugs.
468
469 QT_PM_DIVE=<mode> Enables using DIVE for painting widgets. <mode> is
470 one of:
471
472 - FB (direct framebuffer access, which is the
473 fastest mode but causes the curruption of the
474 screen under the software mouse pointer due to
475 the limitation of DIVE). If this mode is not
476 available, BLIT will be used (see below).
477
478 - FBSWM (the same FB but hides the mouse pointer
479 before painting which introduces mouse flicker
480 and may be a bit slower than the raw FB).
481
482 - BLIT (slower than both FB and FBSWM but prevents
483 screen corruption under the mouse pointer and
484 does not produce the mouse pointer flicker
485 effect).
486
487 This variable is ignored if QT_PM_NO_DIVE is set. If
488 neither this nor the QT_PM_NO_DIVE variable is set,
489 the FBSWM mode is used by default (unless the
490 current video driver is Panorama, see above).
491
492 QT_PM_NO_SOUND_SHARE If set, Qt will open the audio device in exclusive
493 only one sound may be played on the computer at a
494 time. This mode is recommended for some sound cards
495 when using the Uniaud audio driver as it is known to
496 have problems with simultaneous playback. In current
497 Qt builds, this is the default behavior if neither
498 this nor the QT_PM_SOUND_SHARE variable is set.
499
500 QT_PM_SOUND_SHARE The opposite to the above. If set, Qt will open the
501 audio device in shared mode. This variable is
502 ignored if QT_PM_NO_SOUND_SHARE is set.
503
504 QT_PM_NO_REGISTRY If set, Qt will not use the Open32 registry to store
505 application settings with QSettings. Instead, plain
506 text INI files will be used for both NativeFormat
507 and IniFormat. Due to a number of problems in the
508 Open32 registry implementation (that may easily lead
509 to registry corruption), this is the default
510 behavior if neither this nor the QT_PM_REGISTRY
511 variable is set.
512
513 QT_PM_REGISTRY The opposite to the above. If set, Qt will use the
514 Open32 registry to store application settings. This
515 variable is ignored if QT_PM_NO_REGISTRY is set.
516
517 QT_PM_NO_SYSTEM_LOCALE If set, Qt will ignore the regional settings from
518 the system locale object found in the Country
519 Palette located in the System Setup folder and will
520 take them from the internal Qt locale database
521 according to the current country and language
522 settings. Due to the fact that this internal Qt
523 database usually has a better representation of the
524 regional settings, this is the default behavior if
525 neither this nor the QT_PM_SYSTEM_LOCALE variable is
526 set.
527
528 QT_PM_SYSTEM_LOCALE The opposite to the above. If set, Qt will use the
529 regional settings as found in the default locale
530 object set the Country Palette. This variable is
531 ignored if QT_PM_NO_SYSTEM_LOCALE is set.
532
533 LANG This variable can be used to override the default
534 country and language used in the Qt application both
535 for regional settings and for translations. The
536 format of the value is "ll_CC" where <ll> is the
537 two-letter ISO language code and <CC> is the two-
538 letter ISO country code. Note that if this variable
539 is not set, Qt will derive the language and country
540 from the system country code specified in the
541 COUNTRY statement of CONFIG.SYS.
542
543
544
545COMMAND LINE OPTIONS
546
547Any Qt executable recognizes a number of command line options that may change
548the behavior of the Qt application. Here are the most interesting ones:
549
550 -style <name> Changes the default Qt widget style (theme) to a
551 style with the given name. The buiil-in styles which
552 are always available in the official build include:
553 "windows" (currently, the default on OS/2), "motif",
554 "cde", "plastique" and "cleanlooks". Other styles
555 may be also provided by the style plugins.
556
557 -graphicssystem <name> Changes the graphics system used to paint widgets.
558 On OS/2, only two values are supported: "native"
559 (the default one) and "raster". The "native" system
560 uses DIVE (direct interface video extensions) when
561 it is available. If DIVE is not available or if it
562 is disabled (see the QT_PM_NO_DIVE environment
563 variable description for details), the "raster"
564 system will be automatically selected as a fallback.
565
566
567
568CURRENT LIMITATIONS
569
570 1. configure.cmd is does not build demos and examples by default (to save
571 time). They may be built by hand, as described above.
572
573 2. configure.cmd does not understand all command line options understood by
574 configure scripts on other platforms. If you want to customize your build
575 of the Qt library (which is normally not recommended and not supported),
576 you may try to modify configure.cmd itself.
577
578 3. OS/2 bitmap fonts are not supported. Use TTF or Type1 (PFB) fonts with Qt.
579
580 4. No native PM style, but Qt will use fonts and colors from the current
581 OS/2 theme. Hint: if your default OS/2 font is "WarpSans", install the
582 "Workplace Sans" TTF font from Alex Taylor to get more native look & feel.
583 It is recommended to install version 0.7 of the Normal face and version 0.3
584 of the Bold face which you can find here:
585
586 http://users.socis.ca/~ataylo00/creative/fonts/workplace/
587
588 5. QProcess: when starting PM applications from text-mode applications, the
589 returned PID is a PID of the intermediate cmd.exe process, not the target
590 application.
591
592 6. The following classes are not available due to their rare usage or low
593 importance on the OS/2 platform: QSharedMemory, QSystemSemaphore,
594 QInputContext. On the source level, a number of macros is defined to
595 reflect this, respectively: QT_NO_SYSTEMSEMAPHORE, QT_NO_SHAREDMEMORY,
596 QT_NO_IM. Normally, Qt applications use these macros in the form of
597 "#fndef QT_NO_SOMEFEATURE" to isolate the relevant parts of the code that
598 uses these classes so that the application still builds when the
599 corresponding feature is missing.
600
601 7. No qt3support module. This functionality is rarely necessary in mature
602 real life Qt applications and has low priority. In the code, it is
603 reflected by the absense of the QT3_SUPPORT macro.
604
605 8. The following features are missing (either because of the lack of the
606 required support from the system side or because of the rare usage):
607
608 - IPV6 support in the network module (QT_NO_IPV6 is defined).
609 - phonon module (QT_NO_PHONON is defined).
610 - multimedia module (QT_NO_MULTIMEDIA is defined).
611 - OpenGL module (QT_NO_OPENGL is defined).
612 - declarative module (QT_NO_DECLARATIVE is defined).
613 - tablet support (QT_NO_TABLET is defined).
614
615 See the project roadmap for more information on the current progress and
616 future plans:
617
618 http://svn.netlabs.org/qt4/roadmap
619
620 Feel free to request new features and report bugs using the project bug
621 tracker abaialble at:
622
623 http://svn.netlabs.org/qt4/report
624
625
626
627CREDITS
628
629Dmitry A. Kuminov (development)
630Silvan Scherrer (management)
631
632netlabs.org (hosting & support)
633
634Nokia Corporation (original Qt library)
635
636We also want to THANK all individuals and organizations who made the donations
637to this project and helped to make it happen. Please visit
638
639 http://qt.netlabs.org/en/site/index.xml
640
641to get the full list of sponsors and to find information on how you can support
642the project.
643
644
645Qt is a trademark of Nokia Corporation and/or its subsidiary(-ies).
646OS/2 and OS/2 Warp are trademarks of the IBM Corporation and/or its subsidiary(-ies).
647eComStation is a trademark of Serenity Systems International and/or its subsidiary(-ies).
648Etc.
Note: See TracBrowser for help on using the repository browser.