User Resources

From Open Watcom

Jump to: navigation, search

Note: The page you are reading is for the users of the Open Watcom toolchain. There is a separate section for Open Watcom contributors; some of the documents there may be of general interest.


Frequently Asked Questions

FAQ's for Open Watcom

FAQ's for supported languages

Floating-point math

For experts, needing a break

Links to off-site free online books, tutorials and references

Documentation and Manuals

Documentation of general interest to developers using Open Watcom

  • A20 Line - The low-down on the infamous A20 address line
  • Exploring Windows 3.x - A technical introduction to the most hated "operating system" in the history of computing
  • - source for pure technical x86 processor information
  • STL reference - Not the standard version of STL used with Open Watcom, but lists the data structures and algorithms available with STL and has some useful examples of how to work with STL. Also has some documentation on iostreams.
  • Using wmake - differences between wmake and other make tools


Tutorials - Link to the index page of all articles marked as a Tutorial, most of which are not on the page below.

Tutorials - Link to an annotated and organized page of some Tutorials, not all of which are on the page above.

ASM/DOS source

C source

  • BGET - Memory allocator. Public Domain
  • bzip2 - ANSI C, compression, commandline & library. BSD license.
  • Catalog - of small ANSI C programs, showing how to use many features of the language.
  • Curses - Public Domain Curses, Portable text mode screen/keyboard/mouse library. Works with DOS, Win32 console mode or via SDL library. PDCURSES howto
  • Curses for Windows - A fork of PDCurses specifically for Windows (not console mode).
  • Dialog - Draws user friendly dialog boxes using curses. Used by many Linux and BSD systems to create custom menus for scripts or batch files. Ubuntu has the latest version (with patches). Builds on Windows with a few minor changes. FreeBSD has a different version (Freedialog) with BSD style license instead of GNU GPL license. Dialog howto
  • Expat - XML parser library written in C. Open Watcom 1.5 changes and makefiles committed to cvs 6 Aug 2006 (OS/2, Linux, and NT/2000/XP)
  • FastLZ - Very fast compression library in ansi C, MIT licence, Watcom C compatible, note: SVN dev versions only
  • FFT - Ooura's Mathematical Software Packages, Kyoto Uni. high performance math code with MIT compatible licence. Also Fortran version, OW compat not known.
  • FreeGlut with OpenWatcom - Steps to configure OpenGL Freeglut library with OpenWatcom compiler
  • GLFW Open Source (liberal zlib licence), portable framework for OpenGL application development. Includes Makefiles for OW.
  • GTK+ Open Source (GNU LGPL 2.1 licence), cross platform GUI toolkit. See wiki page for OpenWatcom compile instructions. (Please note that GTK+ is moving from version 2 to version 3. In attempting to report issues with building version 3 on Windows, I've found their support extremely negative and anything but helpful. I highly recommend using another GUI toolkit besides this one.)
  • IUP - Cross platform GUI library in C, MIT licence, current Open Watcom static libraries for download, small footprint. IUP at TecGraf
  • libunicows - Alternative library for using Unicode on WIN32 (95/98/ME). (See also Opencow)
  • Lua and Open Watcom Using lua as an embedded scripting language, including how to dynamic link or static link mixed mode libraries, easy when you know how.
  • malloc.c - malloc/free/realloc replacements written by Doug Lea. Public Domain
  • Mersenne Twister - Directly generates double precision random numbers, by Mutsuo Saito, Makoto Matsumoto and Hiroshima University (mit/bsd style licence)
  • nedmalloc - Fast alloc for WIN32 & unix systems. (boost license)
  • POSHLIB - POSH is a simple, portable, easy-to-use, easy-to-integrate, flexible, open source "harness" designed to make writing cross-platform libraries and applications significantly less tedious to create and port. Supports Watcom. (not tested)
  • POSIX Threads for Win32 (LGPL)
  • Regina Rexx Interpreter - Rexx programming / scripting language, OSI version under GPL, dynamically loaded user extensions can be written in C or C++ Regina on sourceforge
  • SDL - The Simple DirectMedia Layer library (version>=1.2.10) can be built with OpenWatcom for Windows and OS/2. GNU Lesser General Public License (LGPL) version 2.1
  • SFL - Standard Function Library, documentation.
  • shwild - Shell-compatible wildcard pattern matching library. (C++ wrapper avail.)
  • The SNIPPETS C Source Code Archives - Small, useful cross-platform code snippets in C. There are also some for C++. The original site is down, but still accessible from
  • C Snippets Hosts some of the C Snippets code plus other C snippets.
  • The Better String Library - Abstraction of a string data type, including C++ wrapper. BSD License.
  • TxWin - Text mode library with windows, menus, dialogs, buttons, entryfields and more. DOS32, NT, OS/2, Linux console & most XTERM env. LGPL license.
  • SwsSock - Cross platform networking library (DOS 16/32, Win32 , Linux). Free for personal use.
  • Watt-32 TCP/P - library for DOS, used by Open Watcom WD debugger for remote debug.
  • mTCP - A nice little TCP/IP stack for IBM PCs, XTs PCjrs, and newer machines
  • Wizard's Apprentice - Script invoked GUI in C for tasks such as installing. zlib licence
  • gsar - Generic Search and Replace. Builds using owcc.
  • zlib - A Massively Spiffy Yet Delicately Unobtrusive Compression Library.
  • nano-x, fltk 1.3 for dos This is a DOS port of nano-x, fltk 1.3 and other useful programs. It's built with djgpp, but may port to OpenWatcom's DOS compiler as well.
  • Perl patch Patch to build Perl for Windows using the Microperl build method (make -f Makefile.micro).

C++ source

  • Custom strsafe - Custom strsafe library is for non-Microsoft C and C++ compilers. It is partially compatible with strsafe.lib from Microsoft Platform SDK.
  • FLTK, Fast Light ToolKit - Cross platform GUI toolkit, V1.1.9 and 1.3 confirmed builds static linked out of the box with 1.7a and Cmake (can do out of source build), from command line wmake. Watcom IDE does not like source .cxx sourcenames. Test progs built automatically. FLTK howto
  • FOX GUI Library - Very portable GUI toolkit, was built with Open Watcom 1.0 (mentioned in installation instructions). Does not compile out of the box with Open Watcom 1.7 and FOX version 1.7.15, but that may be fixable for someone with C++ knowledge. FOX howto
  • Windows++ Source code from a book on how to create your own Windows GUI framework library.
  • SFML - Simple and Fast Multimedia Library
  • The SNIPPETS C++ Source Code Archives The original site is down, but still accessible from
  • wxWidgets - Portable Graphical User Interface library.
  • SFL - (Standard Function Library) is a portable function library for C/C++ programs. Provides a wide variety of functionality from string manipulation and searching to directory access to compression to socket and Internet programming and more.

FORTRAN source

  • Canabis - Open Source Canasta card-game for OS/2 Warp (including eComStation) and Windows 9x/NT. It's completely written in Open Watcom FORTRAN 77 using for instance FORTRAN/TK and EXPAT/77.
  • FORTRAN/TK - an easy to learn, powerful cross-platform (OS/2 Warp and Windows 9x/NT) widget toolkit for the Open Watcom FORTRAN 77 compiler. It's a real FORTRAN implementation of the Tk-toolkit from Tcl/Tk (technically based on Rexx/Tk) including its own small API for additional functionality.


  • ResEdit - Freeware resource editor for Windows 32-bit. Also extracts resources from .exe & .dll files.
  • Code::Blocks - Free IDE built with wxWidgets (see C++ source section). Supports Open Watcom as one of several compilers. Howto configure Code::Blocks.
  • SciTe - A highly configurable programming editor for Windows, Linux and BSD. Functionality can be extended using LUA scripts. Here's a page with some configuration tips that might help get you started: SciTE Tips
  • VIM - VI is a programming editor that has been around for ages. VIM is VI improved. Works on most platforms. With new features such as tabs, it's highly configurable. Gvim is the GUI version of VIM. There's also an older version CREAM at Sourceforge with a more Windows friendly user interface for Gvim.
  • HX DOS Extender - WIN32 API emulation, open source, Open Watcom WD(W) source level debugging supported. Will allow some console based Win32 applications to run in DOS.
  • KernelEx - This is an Open Source project that creates a compatibility layer for Windows 98 and Windows ME machines that allows them to run programs specifically aimed only at later versions of Windows such as Windows 2000 or Windows XP.
  • Zeus for Windows Editor/IDE - A commercial/payware compiler neutral IDE with features like syntax highlighting, code folding, version control, project/workspace management, class browsing, macro scripting etc. Can be easily configured to run the Open Watcom toolset.
  • Cmake - A cross-platform Open Source build system. Can output makefiles compatible with wmake, gnu make and other formats.
  • premake - Generates cross-pltaform project and makefiles.
  • sln2mak - Can convert some Visual C++ project files to GNU makefiles.
  • scons - Software construction tool using Python.
  • bsdbuild Portable build system derived from BSD share/mk files. Works with Bourne shell (or shell supplied with msys) and make. Can interface with other build systems as well.
  • spkg A package manager based on Slackware pkgtools. It's written in C so it's faster than the pkgtools scripts. It works on Windows, Linux or FreeBSD (and possibly other platforms) providing a cross-platform solution to package management. Lets you keep track of, install and uninstall libraries and programs on your system. Also keeps track of versions of libraries installed and what files are installed so they can be easily uninstalled or updated with spkg. Works with standard tarball files (created with tar and gzip) as long as names use proper Slackware package naming conventions.
  • Wix A set of open source tools that compiles XML into Windows Installer based installers (.MSI), patch files (.MSP), transform files (.MST), and merge modules (.MSM).
  • diffh An easy to read, cross-platform file difference tool. Works in conjunction with diff (available from gnuwin32 project or with msys at Sourceforge). Outputs differences between two files side by side in HTML. Handles files with long lines very well.
  • Searchmonkey - Search tool with regular expression support similar to grep but providing a GUI interface. Works on Windows, Linux and BSD. To build the most stable GTK version, use 0.8.1 source code available from the Downloads section under Compile from source. Newer QT version now available.
  • 7zip and 7za - Can compress/decompress and unarchive most formats including xz (which gives good compression for tarballs). 7zip is the GUI interface while 7za provides a command line tool.
  • Console 2 Windows Command prompt replacement. May be used with cmd.exe, bash or other shells.
  • TeaJS Cross platform server side and batch processing Javascript implementation with BSD license. Provides an alternative to Bash or DOS batch scripts.

Unix Style Utilities

  • Unix Utilities - Windows ports of common Unix utilities.
  • Gnuwin32 project - Contains many GNU programs for Windows such as findutils, make, diff, patch, wget, gsar, etc. Also has many standard GNU libraries. Source includes patches when needed to make it more compatible with Windows.
  • Busybox-w32 - Port of Busybox (common Unix style utilities) for Windows.
  • grep - Grep with subdirectory search for Windows.
  • less - Cross-platform file filter. Less is more than more.
  • bsdtar - Version of tar for Windows that handles compression and decompression of many formats including xz. Tries to keep BSD compatible licensing and makes use of port of BSD's libarchive.
  • X server - Port of X Windows server for Windows.
  • bash Bash shell for Windows.
  • KpyM Telnet/SSH Server ( KTS ) - Open Source ssh and telnet server for Windows. Source is available when you install.
  • djgpp - Has ports of several Unix utilities to DOS including cp, mv, rm, sed, awk, bash.

Binary packages

Personal Homepages

Personal tools