Open Watcom FAQ

From Open Watcom

Jump to: navigation, search

The following is a list of frequently asked questions regarding Open Watcom.

General Questions

When is the next version of Open Watcom going to be released? 
We try to do releases on a 6-12 month cycle. However there is no set schedule and sometimes a release is delayed for one reason or another. If you are anxious to use a feature or big fix that has been added to the development system but not yet released, you can download an unofficial binary snapshot of the system from the build servers. You can, of course, also download the source code and build the latest development system yourself.
Is everything that was included with the commercial Watcom release available for free download? 
No, but read on. The commercial versions of the Watcom C/C++ and Fortran compilers contained licensed copies of the Windows SDK, Microsoft Foundation Classes, OS/2 Toolkit and other commercial tools. Due to licensing issues, those components cannot be made freely available. However, Open Watcom includes free replacements for Windows and OS/2 include files and import libraries. These are continuously updated and likely to be more up to date than headers and libraries shipped with Watcom 11.0 or earlier versions.
What does the Open Watcom compiler give us that we don't already get with other free compilers? 
The Open Watcom compiler has a number of advantages over other free compilers, such as full support for 16-bit DOS, Windows, and embedded x86 development, powerful commercial level debugger with full remote debugging capabilities (serial, parallel, NetBIOS, TCP/IP etc). The Open Watcom C/C++ compiler is also the only freely available compiler for 16-bit Windows and OS/2 device driver development. Finally, Open Watcom is a comprehensive package, easy to install and use, with full range of tools and documentation.
Is the Open Watcom compiler C99 compliant? 
No, not fully. The most-used parts of the standard (ISO/IEC 9899-1999 standard, also adopted by ANSI) have been implemented, and there is an ongoing effort to add more. Full implementation may be achieved at some point in the future. For now, the implemented parts of C99 can be enabled via an undocumented switch.
How can I uninstall Open Watcom? 
The uninstaller is integrated into the installer. Start the installer and step through the dialogs until you see the "uninstall" option. Open Watcom uses its own installer/uninstaller rather than operating system specific methods because Open Watcom is a cross platform system. The same installer is used on all the officially supported platforms (and is compiled with Open Watcom, of course!).
Why not port the Open Watcom GUI tools to wxWidgets? 
There are two reasons.
  • wxWidgets is a C++ framework, where GTK+ is a C based one. The current Open Watcom GUI high level framework is C++, but the low level one is actually C. GTK+ fits much more neatly into this picture as a back end for the existing GUI framework.
  • We only want a Linux port (actually an X11 port). Since Win32 and OS/2 already work just fine with the current code, porting using GTK+ will allow a Linux port to be done with minimal changes to the core applications that use the existing Watcom GUI library. Switching to wxWidgets would require completely re-writing *all* GUI applications that currently use the Watcom GUI to use wxWidgets. That is a significant amount of work, especially when the Win32 and OS/2 versions already work just fine.
I really want to contribute! What can I do? 
You should start by subscribing to the Open Watcom contributors newsgroup on news:// Talk with the other developers there and find out what needs doing. If you are interested in some aspect of the system that nobody else is looking at, that is fine too. Download the current source code and see if you can get it to compile. Keep in mind that we could use help with tasks other than programming. Here is a general list of possible work areas.
  • Update and maintain the C, C++, or Fortran compilers. We are particularly interested in moving all three languages toward conformance with the latest relevant standards. Fixing issues reported in Bugzilla would also be good.
  • Update and maintain the various tools. Open Watcom has a particularly rich collection of tools. Any of them could benefit from continued enhancement.
  • Update and maintain the C, C++, or Fortran libraries. In this area we are also particularly intererested in enhancing standards conformance (as well as other things).
  • Update and maintain the documentation set. Open Watcom comes with extensive documentation that needs to be enhanced as the tools and libraries are.
  • Update and maintain this web site.
  • Do beta testing. Exercising the compilers and tools on real world code and reporting problems is helpful.
  • Port popular libraries to Open Watcom. The more libraries Open Watcom (easily) supports the more useful the system will be to others.

See also the projects page for specifics about ongoing development projects.

Open Watcom STL (OWSTL)

Is OWSTL a port of STLport or some other third party library? 
No. OWSTL is a completely fresh implementation of the STL created by the Open Watcom contributors specifically for Open Watcom.
Which versions of Open Watcom support OWSTL? 
A preliminary offering of OWSTL was provided with v1.4 and has been slightly extended and enhanced with each subsequent release. OWSTL is not provided for any earlier release. Currently OWSTL is still unfinished.
Will OWSTL work with the releases of Open Watcom prior to v1.4? 
It is unlikely. A number of important template/namespace bugs were fixed in the transition from v1.3 to v1.4. OWSTL depends on these fixes. If you are interested in using or experimenting with OWSTL, you should upgrade to the latest release.
Can I use a third party STL library with the latest versions of Open Watcom? 
In principle, yes. The existence of an unfinished OWSTL in the latest Open Watcom should not preclude the use of a third party implementation. However, at the moment no suitable third party STL library is known (to this author). For example out-of-the-box STLport does not work with Open Watcom v1.4--v1.7.
Why doesn't the simple string program below work? 
The program
#include <iostream>
#include <string>

int main()
  std::string word;

  std::cin >> word;
  std::cout << word;
  return 0;

won't compile with the OWSTL included with Open Watcom v1.4--v1.7. This is because OWSTL does not yet support I/O operators for std::string. The intention is to add such operators when the iostreams library is modernized. In the meantime you have to do I/O on strings using older methods and then convert the old-style strings to and from std::string.

Personal tools