Changeset 397 for trunk/README.OS2
- Timestamp:
- Dec 6, 2009, 8:44:41 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/README.OS2
r330 r397 1 This is Beta 4 of Qt version 4.5.1 for OS/2 and eCS. 2 3 This document contains a brief information on the OS/2 version of the Qt library 4 plus a brief list of OS/2-specific changes from release to release (section 5 CHANGES below). Please visit the project page at 1 This is Beta 5 of Qt version 4.5.1 for OS/2 and eCS. 2 3 This document contains a brief information on the OS/2 version of the Qt 4 library. Please visit the project page at 6 5 7 6 http://svn.netlabs.org/qt4/wiki … … 9 8 to get more information and the latest news and also to report bugs. 10 9 10 To get a brief list of OS/2-specific changes from release to release 11 please see the CHANGES.OS2 file included in this distribution. 12 11 13 12 14 13 15 REQUIREMENTS 14 16 15 In order to compile the Qt library, you will need the following tools: 17 In order to compile the Qt library and Qt-based applications, you will need 18 the following tools: 16 19 17 20 - One of the OS/2 Warp 4, OS/2 Warp 4.5 or eComStation operating systems. … … 40 43 41 44 http://www.os2site.com/sw/util/archiver/lxlt133.zip 45 46 47 48 SETTING UP THE ENVIRONMENT 42 49 43 50 After unpacking the GCC archive, you will have to set up the compiler … … 74 81 directory, which on OS/2 always refers to the "os2-g++" specification, the only 75 82 one supported at the present time. 83 84 85 86 COMPILING QT 87 88 You should skip this section if you downloaded and installed a binary 89 distribution of the Qt library for developers (qt-os2_g++-dev-X_Y_Z.wpi) and 90 proceed directly to section USING OFFICIAL BINARY QT PACKAGES below. 76 91 77 92 When the environment is set up, go to the directory where you unpacked the … … 137 152 performing step a., otherwise the copy operation will fail. 138 153 154 IMPORTANT NOTE: 155 156 Please take into account that the Qt library you build on your own as 157 described above is NOT intended for wide distribution with Qt applications 158 you port or create. Such private Qt builds help you develop Qt applications 159 (because you can easily debug your program and parts of the Qt framework at 160 the source level) but being widely distributed they will create a so-called 161 DLL hell when a program running on a user computer crashes because it picks 162 up a wrong build of the Qt library. This will happen because even a single 163 change to Qt configuration options may make your build binary incompatible 164 with another build. And even if you convince the user to isolate different 165 DLLs (using BEGINLIBPATH and alike) it will create another major problem: 166 two different Qt applications will load two different Qt builds into memory 167 which will double resource usage; having three different builds will 168 tripple it and so on -- what a vaste of system resources! 169 170 In order to nicely solve this problem, netlabs.org provides the official 171 binary builds of the Qt library distributed as WPI packages which are 172 described in the next section. 173 174 175 176 USING OFFICIAL BINARY QT PACKAGES 177 178 For your convenience, netlabs.org provides the following binary distributions 179 of the Qt library (where X_Y_Z is the Qt version number): 180 181 qt-os2_g++-lib-X_Y_Z.wpi - Runtime DLLs and binaries ("lib" package) 182 qt-os2_g++-dev-X_Y_Z.wpi - Development libraries, tools and headers 183 ("dev" package) 184 185 These packages are called the official binary packages of the Qt library for 186 OS/2. An official binary distribution is the most complete Qt build available 187 that enables all Qt library features and includes all standard Qt plugins that 188 were implemented for OS/2. 189 190 The "lib" package contains the release versions of DLLs (and may contain a few 191 helper binaries) necessary to run applications created using the Qt framework. 192 This package is usually installed by end users together with the Qt applications 193 they want to use. 194 195 The "dev" package contains pre-built release versions of import libraries and 196 a complete set of C++ include headers of the Qt framework. This package is used 197 by developers and porters of Qt applications to build release versions of the 198 applications for OS/2 that are binary compatibie with the "lib" package 199 described above. 200 201 Using the "dev" package requires the same environment as the one necessary for 202 building Qt and described in section SETTING UP THE ENVIRONMET above. The 203 process of compiling Qt applications using the "dev" package is basically the 204 same as with the hand made-build of Qt. Note, however, that if you are 205 developing or porting a Qt application, it is still recommended that you build 206 the debug version of the Qt library yourself and use it in your daily work since 207 it will give you much more feedback than the stripped down release version 208 contained in the "dev" package. The "dev" package, as said above, is intended 209 for making the final release build of the application for subsequent 210 distribution together with the official "lib" package. 211 212 Besides the binary "lib" and the "dev" packages, the following official 213 non-binary packages exist that you may also find useful: 214 215 qt-examples-src-X_Y_Z.wpi - Demo and example sources ("examples") 216 217 NOTE: 218 219 All .DLL and .EXE files of the official binary build contain a DESCRIPTION 220 string with the vendor field set to "netlabs.org" (by contrast, all custom 221 Qt builds will set the vendor field to what the USER environment variable 222 contains or to "anonymous" if USER is not set). Please note that you must 223 NOT set vendor to "netlabs.org" when creating your own builds of the Qt 224 library because it will make it really difficult to identify various 225 distributions and track possible problems with the builds. 226 139 227 140 228 … … 149 237 Qt. 150 238 151 3. Make sure you have the LANG environment variable properly set. The format 152 is 'set LANG=ll_CC[.encoding]' where <ll> is the language code, <CC> is the 153 country code and <encoding> is the optional encoding to use. If LANG is 154 missing or invalid, string conversion operations may work incorrectly 155 resulting in distorted text input or output. Note that for most languages 156 you will have to specify the encoding number explicitly because Qt and OS/2 157 usually disagree about the default encoding for the given language. 158 159 To specify the correct encoding for Qt you need to know your system code 160 page number. You can find this number in the CODEPAGE statement of your 161 CONFIG.SYS. Note however that the code page number from CONFIG.SYS and the 162 encoding name you specify in LANG are different things. Qt doesn't 163 understand IBM code page numbers directly. In most cases, you can get the 164 encoding name by prepending 'cp' to the code page number (for example, 165 'cp850' for code page 850) but sometimes this will not work because not all 166 encodings have 'cp'-like aliases. In this case, you should google around to 167 find the correct encoding name for your code page number. Here is a couple 168 of examples of the proper LANG specification: 169 170 set LANG=de_DE.cp850 - for the German OS/2 locale 171 set LANG=ru_RU.cp866 - for the Russian OS/2 locale 172 173 Later, the correct encoding for the system code page will be detected 174 automatically and specifying it in LANG will not be necessary. 239 3. In order to let Qt correctly detect the regional settings and choose the 240 right language for translating the user interface, the LANG environment 241 variable must be set. The format is 242 243 set LANG=ll_CC 244 245 where <ll> is the language code and <CC> is the country code (refer to 246 wikipedia.org to find correct letters for your langage and country if you 247 do not know them). Note that the optional encoding part of the LANG 248 specification is ignored by Qt for OS/2 since 4.5.1 Beta 5 because it now 249 detects the encoding automatically based on the system OS/2 settings. 250 251 Later, the correct language will be detected from the system settings and 252 specifying LANG will be not necessary at all. 175 253 176 254 4. Some functionality of the already available Qt classes may be limited or … … 195 273 8. No QDesigner, no QAssistant. 196 274 197 9. No clipboard, no Drag&Drop, no printer support. See the project roadmap for198 moreinformation on the current progress and future plans:275 9. No Drag&Drop, no printer support. See the project roadmap for more 276 information on the current progress and future plans: 199 277 200 278 http://svn.netlabs.org/qt4/roadmap 201 202 203 204 CHANGES205 206 Beta 4 (11-11-2009)207 208 Improvements:209 210 - Added sound support (implemented QSound class).211 212 - Added system tray support (QSystemTrayIcon class). This support requires213 the Extended system tray XCenter plugin to be installed. See the note above214 on how to compile and install this plugin.215 216 - Enabled QPlugin support on OS/2. This in turn enables SVG support for217 QIcon (which is built as a Qt plugin DLL by default).218 219 - Better widget modality support (widgets blocked by modality cannot be220 activated and moved using the mouse and the title bar anymore).221 222 - Added support for 'console' and 'windows' CONFIG options in .pro files.223 Now, if 'windows' is present, the target executable will have the WINDOWAPI224 attribute set which effectively makes it a PM application. This, in225 particular, disables standard input, output and error streams so that when226 started, the application will not have a console window attached to it.227 By default, 'console' mode is active unless you perform a release build and228 the application is linked against the QtGui library ('QT = gui' in .pro),229 in which case the default is 'windows'.230 231 - Improved paint speed in Qt windows which should increase overall graphical232 UI performance by 10%-20% in Qt4 applications.233 234 - Implemented setting window icons for top-level windows (using235 QWidget::setWindowIcon()).236 237 - Added LxLite support to provide compression for executables and DLLs. The238 compression is controlled by the 'exepack' CONFIG option which is turned on239 by default for release builds if the LxLite executable is present in PATH240 during the configure.cmd invocation. The compression may be turned off on a241 per-project basis by adding a 'CONFIG -= exepack' line to the .pro file.242 243 - Improved the section of this README.OS2 file that describes how to properly244 set the LANG variable to have correct national characters in file names and245 in window titles of Qt applications.246 247 Fixes:248 249 - QProcess: The executable's path was not always added to BEGINLIBPATH.250 251 - Fixed-size top-level widgets could not be moved.252 253 - Application crash after pressing a button in a dialog window that resizes254 this dialog (for example, makes it bigger to show more information).255 256 - Resizing top level windows using the top border broke mouse coordinates so257 that Qt tought you pressed the mouse button in a different place of the258 window than where you actually did it.259 260 - Events posted with QCoreApplication::postEvent() were only processed upon261 receiving a next message from the system. This caused funny delays such as262 controls in a Qt window still indicating the input focus (the dotted263 rectangle) after the window was deactivated and losing this indication only264 when the mouse pointer was moved over the window.265 266 - Don't replay mouse button press on a push button that is showing a popup267 menu but instead hide the popup menu and unpress the button to get more268 native look and feel.269 270 - Deactivating the window with a push button showing a popup menu would hide271 the popup but leave the button pressed.272 273 - Fixed incorrect Qt dirty widget region calculation when processing WM_PAINT274 messages. This fixes a lot of redraw problems (menu items in the main menu275 bar, text in combo-boxes, various redraw problems in smplayer when switching276 interfaces and going to/from fullscreen, and similar).277 278 Beta 3 (17-10-2009)279 280 Improvements:281 282 - Added proper font support. All outline (scalable) fonts visible in the Font283 Palette should be now recognized by Qt. The fonts are hinted and antialiased284 using the Freetype2 library when drawing text.285 286 - System fonts and colors are now used by default for Qt widgets.287 288 - configure.cmd now generates the main Makefile to simplify building of Qt.289 290 - corelib: QProcess: Implemented child termination detection.291 292 - corelib: QProcess: Implemented redirection to another QProcess.293 294 - corelib: QProcess now uses native pipes for stream redirection. This fixes295 various issues like 'Socket operation on non-socket' errors during296 parent-child communication.297 298 - corelib: QProcess: Make sure that the directory containing the executable299 file is always searched (first) for DLLs needed by this executable. This300 makes it unnecessary to change the current directory to the executable's301 directory or add it to LIBPATH before starting the Qt application.302 303 - corelib: QProcess can now start applications of different type (e.g. PM304 applications from text-mode applications) directly.305 QProcess::startDetached() also works.306 307 - qmake: In debug_and_release mode, 'release-(all|clean|distclean|install|308 uninstall)' and 'debug-(all|clean|distclean|install|uninstall)' make309 targets are now available.310 311 Fixes:312 313 - Doing 'make clean' could result into a hang due to CMD.EXE command line314 length limitation.315 316 - corelib: Fixed: QProcess: Lost data during stream redirection.317 318 - corelib: QSettings could sometimes distort data when saving it to the319 registry (by replacing some characters with codes 0x80 and above with '?').320 321 Beta 2 (17-09-2009)322 323 Improvements:324 325 - Ported the network module (QtNetwork4.dll) and added to the default build.326 327 - Added modules sql, svg, xmlpatterns, scripttools, plugins to the default328 build.329 330 - gui: Added recognition of dead keys which makes it possible to type331 umlauts and other accented characters that require composition.332 333 - gui: Implemented standard cursor shapes in Qt applications.334 335 Fixes:336 337 - qmake: Fixed the trailing slash problem which caused qmake to generate338 incorrect makefiles and fail to build the Qt library on some platforms.339 340 - configure.cmd: Return to the root source tree directory after building341 qmake.342 343 - qmake: Automatically use different link flags when linking qmake with WLINK.344 345 - qmake: Recognize TARGET_SHORT that allows to specify a short DLL name346 (vital for OS/2 which reqires DLL names to be in 8x3 format).347 348 - build: Set short DLL names for Qt modules on OS/2 using TARGET_SHORT.349 350 - corelib: Various fixes to file system classes that deal with the file name351 case (which should be ignored on OS/2) and forward and back slashes.352 353 - corelib: Fixed: QMutex could let more than one thread access the protected354 resource.355 356 - corelib: Standard stream redirection in QProcess should now work for357 kLIBC-based child processes. Redirection for all other applications358 (such as CMD.EXE) will be added later (seems to be a kLIBC bug/feature).359 360 - gui: Fixed erroneous QFileDialog behavior (duplicate entires in the list,361 incomplete contents of the root directory of the current drive).362 363 - gui: Fixed: Ctrl+A..Z should generate characters with codes 0x01-0x1F.364 365 - gui: Fixed: Close popups when resizing/moving the top level window.366 367 - gui: Enabled actual enforcing min/max Qt widget constraints for top-level windows.368 369 - gui: Fixed child widget duplication when resizing top level widgets after370 showing a popup; moving native child widgets should now work correctly.371 This also fixed a number of redraw problems (for example, drawing the main372 menu and tool bars in smplayer, moving tool bars around in other373 applications such as textedit from the demo folder).374 375 Beta 1 (29-08-2009)376 377 - First public release.378 279 379 280
Note:
See TracChangeset
for help on using the changeset viewer.