1 | This is Qt version 4.5.1 GA for OS/2 and eCS.
|
---|
2 |
|
---|
3 | This document contains a brief information on the OS/2 version of the Qt
|
---|
4 | library. Please read it carefully before starting your work. You may also
|
---|
5 | visit the project page at
|
---|
6 |
|
---|
7 | http://svn.netlabs.org/qt4/wiki
|
---|
8 |
|
---|
9 | to get more information and the latest news and also to report bugs.
|
---|
10 |
|
---|
11 | To get a brief list of OS/2-specific changes from release to release
|
---|
12 | please see the CHANGES.OS2 file included in this distribution.
|
---|
13 |
|
---|
14 |
|
---|
15 |
|
---|
16 | REQUIREMENTS
|
---|
17 |
|
---|
18 | In order to compile the Qt library and Qt-based applications, you will need
|
---|
19 | the following tools:
|
---|
20 |
|
---|
21 | - One of the OS/2 Warp 4, OS/2 Warp 4.5 or eComStation operating systems.
|
---|
22 |
|
---|
23 | - InnoTek GCC compiler version 3.3.5 CSD3 or 4.4.2 (recommended).
|
---|
24 | You can download the GCC 4.4.2 compiler using the following link:
|
---|
25 |
|
---|
26 | http://download.smedley.info/gcc-4.4.2-os2-20091205.zip
|
---|
27 |
|
---|
28 | GCC 4.4.2 requires newer binutils available at:
|
---|
29 |
|
---|
30 | http://download.smedley.info/binutils-2.19.1-os2-20090427.zip
|
---|
31 |
|
---|
32 | Note that in order to use the above version of GCC, you will also need
|
---|
33 | to install the previous 3.x version (e.g. 3.3.5 CSD3) available at:
|
---|
34 |
|
---|
35 | ftp://ftp.netlabs.org/pub/gcc/GCC-3.3.5-csd3.zip
|
---|
36 |
|
---|
37 | - Patched OpenWatcom linker which you can download from here:
|
---|
38 |
|
---|
39 | ftp://ftp.netlabs.org/pub/gcc/wl-hll-r1.zip
|
---|
40 |
|
---|
41 | Note that if you use IBM ILINK (no matter what version), you will
|
---|
42 | not be able to build the debug version of the library due to
|
---|
43 | bugs/limitations of ILINK.
|
---|
44 |
|
---|
45 | - GNU Make 3.81beta1 or above (not tested) available at:
|
---|
46 |
|
---|
47 | http://unix.os2site.com/pub/binary/make/make-3_81beta1-bin-static.zip
|
---|
48 |
|
---|
49 | - eCUPS 1.3.11 or later to support printing in Qt. The eCUPS WPI is available
|
---|
50 | at:
|
---|
51 |
|
---|
52 | ftp://ftp.netlabs.org/incoming/eCUPS003.wpi or
|
---|
53 | ftp://ftp.netlabs.org/pub/ecups/eCUPS003.wpi
|
---|
54 |
|
---|
55 | Linking against eCUPS also requires pthread.lib:
|
---|
56 |
|
---|
57 | http://web.os2power.com/download/lib/pthread-20100217-os2.zip
|
---|
58 |
|
---|
59 | - LxLite 1.3.3 or above (not tested) if you want Qt DLLs and application
|
---|
60 | executables to be compressed (to save hard disk space and load time). If
|
---|
61 | you have a recent eComStation installation (e.g. 2.0 rc6) you will already
|
---|
62 | have LxLite installed. Otherwise, you may take it from here:
|
---|
63 |
|
---|
64 | http://www.os2site.com/sw/util/archiver/lxlt133.zip
|
---|
65 |
|
---|
66 |
|
---|
67 |
|
---|
68 | SETTING UP THE ENVIRONMENT
|
---|
69 |
|
---|
70 | After unpacking the GCC archive, you will have to set up the compiler
|
---|
71 | environment by invoking gccenv.cmd from the "bin" subdirectory with the correct
|
---|
72 | arguments (type gccenv.cmd -? for help). For the OpenWatcom linker, specify
|
---|
73 | WLINK as the second argument.
|
---|
74 |
|
---|
75 | Please note that setting up the GCC 4.x environment requires some additional
|
---|
76 | steps. Please look through the README files contained within the OS/2
|
---|
77 | distribution.
|
---|
78 |
|
---|
79 | You will also need to perform the following steps:
|
---|
80 |
|
---|
81 | - Make sure the selected linker, the make utility and LxLite executable are
|
---|
82 | in PATH.
|
---|
83 |
|
---|
84 | - Make sure CMD.EXE is your command line processor (the generated makefiles
|
---|
85 | will rely on its 'copy', 'if' and other commands). If you have a Unix shell
|
---|
86 | (SH.EXE) in your environment, you may need to force GNU make to use CMD.EXE
|
---|
87 | by doing 'set MAKESHELL=C:\OS2\CMD.EXE' where C: is your boot drive.
|
---|
88 |
|
---|
89 | - Do set LIBRARY_PATH=C:\OS2\DLL;C:\MPTN\DLL where C: is your boot drive.
|
---|
90 |
|
---|
91 | - Make sure that there are no traces of any other Watcom or OpenWatcom
|
---|
92 | installation in the environment where you build Qt as it will most likely
|
---|
93 | interfere with the patched OpenWatcom linker we use. This basically means
|
---|
94 | removing all *WATCOM* environment variables and removing references to those
|
---|
95 | Watcom installations from PATH.
|
---|
96 |
|
---|
97 | - Add the "bin" subdirectory of the directory where you unpacked the Qt4
|
---|
98 | source tree to PATH and BEGINLIBPATH using its full path, e.g.:
|
---|
99 |
|
---|
100 | set PATH=D:\Coding\Qt4\bin;%PATH%
|
---|
101 | set BEGINLIBPATH=D:\Coding\Qt4\bin;%BEGINLIBPATH%
|
---|
102 |
|
---|
103 | - Install the eCUPS WPI archive to enable printing support. If this WPI is
|
---|
104 | installed, the Qt build system will pick up all necessary libraries
|
---|
105 | automatically. Otherwise, you will need to use the following environment
|
---|
106 | variables to tell it where to look for CUPS:
|
---|
107 |
|
---|
108 | set CUPS_INCLUDEPATH=X:\Path\to\CUPS\include
|
---|
109 | set CUPS_LIBS=X:\Path\to\CUPS\lib\libcups.a
|
---|
110 |
|
---|
111 | Note that if the eCUPS WPI is not installed and these variables are not set,
|
---|
112 | printing support will be completely disabled in the resulting Qt build.
|
---|
113 |
|
---|
114 | You will also need to make sure that pthread.lib is placed somewhere in your
|
---|
115 | system library path so that the compiler can find it.
|
---|
116 |
|
---|
117 | Note that the QTDIR environment variable used by previous Qt versions is not
|
---|
118 | used by Qt4 anymore (except two rare cases that do not affect the OS/2 platform
|
---|
119 | anyway and are probably leftovers after the migration of the qmake feature
|
---|
120 | specifications to Qt4). Therefore, there is no need to set this variable
|
---|
121 | explicitly. See also a note below about hard-coded paths to the source tree.
|
---|
122 |
|
---|
123 | There is also no need to set the QMAKESPEC variable explicitly. If it is absent,
|
---|
124 | qmake will use the specification stored in the <Qt4_Home>/mkspecs/default
|
---|
125 | directory, which on OS/2 always refers to the "os2-g++" specification, the only
|
---|
126 | one supported at the present time.
|
---|
127 |
|
---|
128 |
|
---|
129 |
|
---|
130 | COMPILING QT
|
---|
131 |
|
---|
132 | You should skip this section if you downloaded and installed a binary
|
---|
133 | distribution of the Qt library for developers (qt-dev-X_Y_Z.wpi) and proceed
|
---|
134 | directly to section USING OFFICIAL BINARY QT PACKAGES below.
|
---|
135 |
|
---|
136 | When the environment is set up, go to the directory where you unpacked the
|
---|
137 | Qt4 source tree and type:
|
---|
138 |
|
---|
139 | configure.cmd
|
---|
140 |
|
---|
141 | This will set up the library (by creating necessary configuration and include
|
---|
142 | files and a bunch of Makefiles for variuos components) and build the qmake
|
---|
143 | utility.
|
---|
144 |
|
---|
145 | The next step is to type:
|
---|
146 |
|
---|
147 | make
|
---|
148 |
|
---|
149 | This will compile and link the library. Note that by default both the release
|
---|
150 | and the debug version of the library are built (please be patient, it may take
|
---|
151 | quite some time depending on your hardware). The release and debug libraries can
|
---|
152 | co-exist in the same source tree and may be used in parallel: all the debug DLLs
|
---|
153 | get a 'd' letter in their name preceeding the Qt major version number and use
|
---|
154 | separate directories for object files.
|
---|
155 |
|
---|
156 | To save time, you may also build the release and the debug versions of the
|
---|
157 | library separately by typing 'make release' or 'make debug' accordingly
|
---|
158 | instead of just 'make'.
|
---|
159 |
|
---|
160 | Once the library is successfully built, you may try to compile the demos
|
---|
161 | and examples by visiting the individual example subdirectories in the source
|
---|
162 | tree and typing 'qmake' followed by one of 'make', 'make release' or
|
---|
163 | 'make debug' in that subdirectory.
|
---|
164 |
|
---|
165 | NOTE:
|
---|
166 |
|
---|
167 | This version of Qt for OS/2 includes the Extended system tray plugin for
|
---|
168 | XCenter/eCenter which is necessary to enable Qt support for the special
|
---|
169 | notification area on the XCenter/eCenter panel (called the "system tray")
|
---|
170 | which is used by many long-running applications to display their status.
|
---|
171 | In order to activate this support, you need to install this plugin to your
|
---|
172 | XCenter or eCenter. The plugin is built during the normal Qt build process
|
---|
173 | and can be found in the file \plugins\xcenter\xsystray.dll in the Qt source
|
---|
174 | tree. In order to install the plugin, do the following:
|
---|
175 |
|
---|
176 | a. Copy xsystray.dll to <XWorkplace installation folder>\plugins\xcenter\
|
---|
177 | (on eComStation, this will be C:\ecs\system\ewps\plugins\xcenter\ where
|
---|
178 | C: is your boot drive).
|
---|
179 |
|
---|
180 | b. Restart WPS.
|
---|
181 |
|
---|
182 | c. Add the "Extended system tray" widget to the XCenter/eCenter panel using
|
---|
183 | the XCenter context menu ('Create new widget').
|
---|
184 |
|
---|
185 | Note that if you upgrade from the previous version of the plugin then
|
---|
186 | please unlock xsystray.dll in the target folder using the UNLOCK.EXE
|
---|
187 | utility (which you can find in the LxLite package, for example) before
|
---|
188 | performing step a., otherwise the copy operation will fail.
|
---|
189 |
|
---|
190 | IMPORTANT NOTE:
|
---|
191 |
|
---|
192 | Please take into account that the Qt library you build on your own as
|
---|
193 | described above is NOT intended for wide distribution with Qt applications
|
---|
194 | you port or create. Such private Qt builds help you develop Qt applications
|
---|
195 | (because you can easily debug your program and parts of the Qt framework at
|
---|
196 | the source level) but being widely distributed they will create a so-called
|
---|
197 | DLL hell when a program running on a user computer crashes because it picks
|
---|
198 | up a wrong build of the Qt library. This will happen because even a single
|
---|
199 | change to Qt configuration options may make your build binary incompatible
|
---|
200 | with another build. And even if you convince the user to isolate different
|
---|
201 | DLLs (using BEGINLIBPATH and alike) it will create another major problem:
|
---|
202 | two different Qt applications will load two different Qt builds into memory
|
---|
203 | which will double resource usage; having three different builds will
|
---|
204 | tripple it and so on -- what a vaste of system resources!
|
---|
205 |
|
---|
206 | In order to nicely solve this problem, netlabs.org provides the official
|
---|
207 | binary builds of the Qt library distributed as WPI packages which are
|
---|
208 | described in the next section.
|
---|
209 |
|
---|
210 |
|
---|
211 |
|
---|
212 | USING OFFICIAL BINARY QT PACKAGES
|
---|
213 |
|
---|
214 | For your convenience, netlabs.org provides the following binary distributions
|
---|
215 | of the Qt library (where X_Y_Z is the Qt version number):
|
---|
216 |
|
---|
217 | qt-lib-X_Y_Z.wpi - Runtime DLLs and binaries ("lib" package)
|
---|
218 | qt-dev-X_Y_Z.wpi - Development libraries, tools and headers ("dev" package)
|
---|
219 |
|
---|
220 | These packages are called the official binary packages of the Qt library for
|
---|
221 | OS/2. An official binary distribution is the most complete Qt build available
|
---|
222 | that enables all Qt library features and includes all standard Qt plugins that
|
---|
223 | were implemented for OS/2.
|
---|
224 |
|
---|
225 | The "lib" package contains the release versions of DLLs (and may contain a few
|
---|
226 | helper binaries) necessary to run applications created using the Qt framework.
|
---|
227 | This package is usually installed by end users together with the Qt applications
|
---|
228 | they want to use.
|
---|
229 |
|
---|
230 | The "dev" package contains pre-built release versions of import libraries and
|
---|
231 | a complete set of C++ include headers of the Qt framework. This package is used
|
---|
232 | by developers and porters of Qt applications to build release versions of the
|
---|
233 | applications for OS/2 that are binary compatibie with the "lib" package
|
---|
234 | described above.
|
---|
235 |
|
---|
236 | Using the "dev" package requires the same environment as the one necessary for
|
---|
237 | building Qt and described in section SETTING UP THE ENVIRONMET above with the
|
---|
238 | exception that the "bin" subdirectory of the directory where you installed the
|
---|
239 | "dev" package needs to be added to PATH instead of the "bin" subdirectory of
|
---|
240 | the Qt4 source tree.
|
---|
241 |
|
---|
242 | The process of compiling Qt applications using the "dev" package is basically
|
---|
243 | the same as with the hand made-build of Qt. Note, however, that if you are
|
---|
244 | developing or porting a Qt application, it is still recommended that you build
|
---|
245 | the debug version of the Qt library yourself and use it in your daily work since
|
---|
246 | it will give you much more feedback than the stripped down release version
|
---|
247 | contained in the "dev" package. The "dev" package, as said above, is intended
|
---|
248 | for making the final release build of the application for subsequent
|
---|
249 | distribution together with the official "lib" package.
|
---|
250 |
|
---|
251 | Besides the "lib" and the "dev" packages, the following official packages exist
|
---|
252 | that you may also find useful:
|
---|
253 |
|
---|
254 | qt-examples-X_Y_Z.wpi - Demo and example sources ("examples")
|
---|
255 |
|
---|
256 | The "examples" package contains the demo and example applications shipped with
|
---|
257 | Qt along with the source code. They serve as a good demonstration of the Qt
|
---|
258 | library features and it is recommended to look at them.
|
---|
259 |
|
---|
260 | Please note that this package does not contain all Qt demos and examples
|
---|
261 | available since not all features have been implemented in the OS/2 version of
|
---|
262 | Qt yet.
|
---|
263 |
|
---|
264 | NOTE:
|
---|
265 |
|
---|
266 | All .DLL and .EXE files of the official binary build contain a DESCRIPTION
|
---|
267 | string with the vendor field set to "netlabs.org" (by contrast, all custom
|
---|
268 | Qt builds will set the vendor field to what the USER environment variable
|
---|
269 | contains or to "anonymous" if USER is not set). Please note that you must
|
---|
270 | NOT set vendor to "netlabs.org" when creating your own builds of the Qt
|
---|
271 | library because it will make it really difficult to identify various
|
---|
272 | distributions and track possible problems with the builds.
|
---|
273 |
|
---|
274 |
|
---|
275 |
|
---|
276 | QMAKE CONFIG OPTIONS
|
---|
277 |
|
---|
278 | The following CONFIG options of the qmake utility have a special meaning in
|
---|
279 | OS/2:
|
---|
280 |
|
---|
281 | windows Turns on generation of PM (WINDOWAPI) executables. By
|
---|
282 | default, this option is set for release builds that link
|
---|
283 | to the Qt GUI library.
|
---|
284 |
|
---|
285 | console Turns on generation of text mode (WINDOWCOMPAT) executables.
|
---|
286 | By default, this option is set when setting the "windows"
|
---|
287 | option is not appropriate (see above).
|
---|
288 |
|
---|
289 | In addition, qmake recognizes the following OS/2-specific CONFIG options:
|
---|
290 |
|
---|
291 | map Turns on generation of the .map files for executables and
|
---|
292 | DLLs. This option is set by default.
|
---|
293 |
|
---|
294 | exepack Turns on compression for executables and DLLs. The option is
|
---|
295 | turned on by default for release builds if configure.cmd
|
---|
296 | finds a compression tool (LxLite) in PATH.
|
---|
297 |
|
---|
298 | highmem Turns on high memory usage for dynamically allocated memory
|
---|
299 | in DLLs and executables. When this option is set, a special
|
---|
300 | compiler flag (-Zhigh-mem for GCC) is used to enable high
|
---|
301 | memory support in the C library (LIBC). This option is set
|
---|
302 | by default so that all Qt DLLs and Qt applications built
|
---|
303 | with qmake are enabled for high memory. Note that high
|
---|
304 | memory support must be enabled for all LIBC-based DLLs
|
---|
305 | linked to the executable as well as for the executable
|
---|
306 | itself: high memory usage will be disabled if one of them
|
---|
307 | votes against it.
|
---|
308 |
|
---|
309 |
|
---|
310 |
|
---|
311 | ENVIRONMENT VARIABLES
|
---|
312 |
|
---|
313 | The Qt library recognizes a number of OS/2-specific environment variables that
|
---|
314 | affect its functionality at runtime. The table below lists these variables and
|
---|
315 | their meaning:
|
---|
316 |
|
---|
317 | QT_PM_NO_SOUND_SHARE If set, Qt will open the audio device in exclusive
|
---|
318 | only one sound may be played on the computer at a
|
---|
319 | time. This mode is recommended for some sound cards
|
---|
320 | when using the Uniaud audio driver as it is known to
|
---|
321 | have problems with simultaneous playback. In current
|
---|
322 | Qt builds, this is the default behavior if neither
|
---|
323 | this nor the QT_PM_SOUND_SHARE variable is set.
|
---|
324 |
|
---|
325 | QT_PM_SOUND_SHARE The opposite to the above. If set, Qt will open the
|
---|
326 | audio device in shared mode. This variable is
|
---|
327 | ignored if QT_PM_NO_SOUND_SHARE is set.
|
---|
328 |
|
---|
329 | QT_PM_NO_REGISTRY If set, Qt will not use the Open32 registry to store
|
---|
330 | application settings with QSettings. Instead, plain
|
---|
331 | text INI files will be used for both NativeFormat
|
---|
332 | and IniFormat. Due to a number of problems in the
|
---|
333 | Open32 registry implementation (that may easily lead
|
---|
334 | to registry corruption), this is the default
|
---|
335 | behavior if neither this nor the QT_PM_REGISTRY
|
---|
336 | variable is set.
|
---|
337 |
|
---|
338 | QT_PM_REGISTRY The opposite to the above. If set, Qt will use the
|
---|
339 | Open32 registry to store application settings. This
|
---|
340 | variable is ignored if QT_PM_NO_REGISTRY is set.
|
---|
341 |
|
---|
342 | QT_PM_NO_SYSTEM_LOCALE If set, Qt will ignore the regional settings from
|
---|
343 | the system locale object found in the Country
|
---|
344 | Palette located in the System Setup folder and will
|
---|
345 | take them from the internal Qt locale database
|
---|
346 | according to the current country and language
|
---|
347 | settings. Due to the fact that this internal Qt
|
---|
348 | database usually has a better representation of the
|
---|
349 | regional settings, this is the default behavior if
|
---|
350 | neither this nor the QT_PM_SYSTEM_LOCALE variable is
|
---|
351 | set.
|
---|
352 |
|
---|
353 | QT_PM_SYSTEM_LOCALE The opposite to the above. If set, Qt will use the
|
---|
354 | regional settings as found in the default locale
|
---|
355 | object set the Country Palette. This variable is
|
---|
356 | ignored if QT_PM_NO_SYSTEM_LOCALE is set.
|
---|
357 |
|
---|
358 | LANG This variable can be used to override the default
|
---|
359 | country and language used in the Qt application both
|
---|
360 | for regional settings and for translations. The
|
---|
361 | format of the value is "ll_CC" where <ll> is the
|
---|
362 | two-letter ISO language code and <CC> is the two-
|
---|
363 | letter ISO country code. Note that if this variable
|
---|
364 | is not set, Qt will derive the language and country
|
---|
365 | from the system country code specified in the
|
---|
366 | COUNTRY statement of CONFIG.SYS.
|
---|
367 |
|
---|
368 |
|
---|
369 |
|
---|
370 | PRINTING SUPPORT
|
---|
371 |
|
---|
372 | Starting with version 4.6.1, Qt for OS/2 supports printing through the CUPS
|
---|
373 | framework (provided that this support is enabled when building Qt, see the
|
---|
374 | respective sections in the beginning of this document). The OS/2 implementation
|
---|
375 | of the CUPS framework is provided by the eCUPS package available at
|
---|
376 | http://svn.netlabs.org/ecups/.
|
---|
377 |
|
---|
378 | The Qt Runtime detects the presence of eCUPS in the system on the fly and talks
|
---|
379 | to the CUPS daemon directly, bypassing the standard OS/2 printing subsystem.
|
---|
380 | This means that in order to print from Qt applications, you don't need to create
|
---|
381 | and configure printer objects using the standard OS/2 system printer setup
|
---|
382 | procedure -- you only need to install eCUPS and configure your printers in
|
---|
383 | there. Please refer to the eCUPS user manual to obtain the detailed instructions
|
---|
384 | on how to configure CUPS printers.
|
---|
385 |
|
---|
386 |
|
---|
387 |
|
---|
388 | CURRENT LIMITATIONS
|
---|
389 |
|
---|
390 | 1. configure.cmd is not yet capable of generating individual Makefiles for
|
---|
391 | demos and examples, it only generates the main Makefile that builds the
|
---|
392 | library and the necessary tools. Demos and examples can be compiled by
|
---|
393 | hand (as described above).
|
---|
394 |
|
---|
395 | 2. configure.cmd does not understand any command line options. If you want
|
---|
396 | to customize the build of the Qt library (which is not recommended), you
|
---|
397 | may try to modify configure.cmd itself.
|
---|
398 |
|
---|
399 | 3. OS/2 bitmap fonts are not yet supported. Use TTF or Type1 (PFB) fonts with
|
---|
400 | Qt.
|
---|
401 |
|
---|
402 | 4. No qt3support module. This functionality is rarely necessary in mature
|
---|
403 | real life applications and has low priority.
|
---|
404 |
|
---|
405 | 5. No native PM style, but Qt will use fonts and colors from the current
|
---|
406 | OS/2 theme. Hint: if your default OS/2 font is "WarpSans", install the
|
---|
407 | "Workplace Sans" TTF font from Alex Taylor to get more native look & feel.
|
---|
408 | It is recommended to install version 0.6 of the Normal face and version 0.2
|
---|
409 | of the Bold face which you can find here:
|
---|
410 |
|
---|
411 | http://users.socis.ca/~ataylo00/creative/fonts/workplace/
|
---|
412 |
|
---|
413 | 6. QProcess: when starting PM applications from text-mode applications, the
|
---|
414 | returned PID is a PID of the intermediate cmd.exe process, not the target
|
---|
415 | application.
|
---|
416 |
|
---|
417 | 7. The followign classes are not available due to their rare usage or low
|
---|
418 | importance on the OS/2 platform: QSharedMemory, QSystemSemaphore,
|
---|
419 | QInputContext, QAccessible. The following macros are defined to indicate
|
---|
420 | this: QT_NO_SYSTEMSEMAPHORE, QT_NO_SHAREDMEMORY,
|
---|
421 | QT_NO_IM, QT_NO_ACCESSIBILITY. Applications normally use them to guard the
|
---|
422 | relevant parts of code so they should still build.
|
---|
423 |
|
---|
424 | 8. No QAssistant. No IPV6 support in the network module (QT_NO_IPV6 is
|
---|
425 | defined).
|
---|
426 |
|
---|
427 | See the project roadmap for more information on the current progress and
|
---|
428 | future plans:
|
---|
429 |
|
---|
430 | http://svn.netlabs.org/qt4/roadmap
|
---|
431 |
|
---|
432 | Feel free to request new features and report bugs using the project bug
|
---|
433 | tracker abaialble at:
|
---|
434 |
|
---|
435 | http://svn.netlabs.org/qt4/report
|
---|
436 |
|
---|
437 |
|
---|
438 |
|
---|
439 | CREDITS
|
---|
440 |
|
---|
441 | Dmitry A. Kuminov (development)
|
---|
442 | Silvan Scherrer (management)
|
---|
443 |
|
---|
444 | netlabs.org (hosting & support)
|
---|
445 |
|
---|
446 | Nokia Corporation (original Qt library)
|
---|
447 |
|
---|
448 | We also want to THANK all individuals and organizations who made the donations
|
---|
449 | to this project and helped to make it happen. Please visit
|
---|
450 |
|
---|
451 | http://qt.netlabs.org/en/site/index.xml
|
---|
452 |
|
---|
453 | to get the full list of sponsors and to find information on how you can support
|
---|
454 | the project.
|
---|
455 |
|
---|
456 |
|
---|
457 | Qt is a trademark of Nokia Corporation and/or its subsidiary(-ies).
|
---|
458 | OS/2 and OS/2 Warp are trademarks of the IBM Corporation and/or its subsidiary(-ies).
|
---|
459 | eComStation is a trademark of Serenity Systems International and/or its subsidiary(-ies).
|
---|
460 | Etc.
|
---|