OOMMF Home next up previous index
Next: Quick Start: Example OOMMF Up: Platform Specific Installation Issues Previous: macOS Configuration


Microsoft Windows Options

This section lists installation options for Microsoft Windows.

Using Microsoft Visual C++

If you are building OOMMF software from source using the Microsoft Visual C++ command line compiler, cl.exe, it is necessary to set up the path and some environment variables before running the compiler. There is a batch file distributed with Visual C++ that you can run to do this. The name of the file varies between Visual C++ releases, but for example may be vcvarsall.bat or setenv.cmd. For 64-bit builds you may need to include the ``amd64'' option on the batch file command line. You may want to set up your system so this batch file gets run automatically when you open a command window. See your compiler and system documentation for details.

Using MinGW g++

Both 32-bit and 64-bit builds are supported using the MinGW ports of g++. (The 32-bit and 64-bit versions of g++ are separate downloads.) Use a standard Windows Tcl/Tk, such as the ActiveTcl release from ActiveState. You will also need to edit the appropriate platform file to select g++ as the compiler. If you are using a 32-bit Tcl/Tk and g++, then the platform file is oommf\config\platforms\wintel.tcl. For 64-bit Tcl/Tk and g++ the platform file is oommf\config\platforms\windows-x86_64.tcl.

Using the Cygwin toolkit

The Cygwin Project is a free port of the GNU development environment to Windows, which includes the GNU C++ compiler g++ and X11. To build OOMMF within the Cygwin environment, start up a Cygwin or Cygwin64 shell and follow the usual Unix build procedure. The platform name will be cygtel or cygwin-x86_64, according to whether you are running a 32- or 64-bit Cygwin tclsh, respectively. The resulting OOMMF build requires the Cygwin environment to run, so it will need to be launched from a Cygwin shell. Moreover, OOMMF on Cygwin uses X11 as the windowing interface, so you will need to have the Cygwin port of X11 installed; typically OOMMF will be started from an X11 xterm or equivalent. Of course, you will also need the Tcl and Tk packages installed (called tcl and tcl-tk, respectively, by the Cygwin package manager). To build OOMMF from source you will need the gcc-g++, tcl-devel, and tcl-tk-devel packages and dependencies.

If you get errors saying a child process couldn't be forked (typically with either ``resource temporarily unavailable'' or ``Loaded to different address'' error messages), then follow this procedure:

  1. Exit all Cygwin processes
  2. Use Windows Explorer or a Windows command shell to launch c:\cygwin\bin\ash.exe
  3. Run /bin/rebaseall inside the ash shell.
Additional information on this problem can be found in the Cygwin documentation.

The Cygwin versions of Tcl/Tk prior to 8.6 were not threaded, so OOMMF built with Tcl/Tk 8.5 and older will likewise not be threaded. This limitation is removed with the Cygwin Tcl/Tk 8.6 release.

Setting the TCL_LIBRARY environment variable

If you encounter difficulties during OOMMF start up, you may need to set the environment variable TCL_LIBRARY. (NOTE: This is almost never necessary!)

Bring up the Control Panel (e.g., by selecting Settings|Control Panel off the Start menu), and select System. Go to the Environment tab, and enter TCL_LIBRARY as the Variable, and the name of the directory containing init.tcl for the Value, e.g.,

%SystemDrive%\Program Files\Tcl\lib\tcl8.0
Click Set and OK to finish.

OOMMF Home next up previous index

OOMMF Documentation Team
September 30, 2022