Next: Quick Start: Example OOMMF
Up: Platform Specific Installation Issues
Previous: macOS Configuration
Subsections
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:
- Exit all Cygwin processes
- Use Windows Explorer or a Windows command shell to launch
c:\cygwin\bin\ash.exe
- 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 Documentation Team
September 30, 2022