NLopt on Windows

NLopt on Windows

NLopt works fine on Microsoft Windows computers. To simplify installation, we provide a precompiled 32-bit and 64-bit Windows DLLs, built with MinGW:

Be sure to read the README-WINDOWS file included in this zip archive for how to build an import library for the DLL before using, by running the lib /def:libnlopt-0.def command (which comes with Microsoft compilers). If you are using GNU compilers (MinGW), run dlltool --input-def libnlopt-0.def --dllname libnlopt-0.dll --output-lib libnlopt-0.lib (dlltool comes with MinGW).

(For source code, download the main .tar.gz package.)

Alternatively, you can use the following files, provided by Benoit Scherrer (benoitscherrer ατ, to compile NLopt from source on Windows (with the Microsoft compiler) using CMake:

Unofficial Python binaries for Windows are available from Christoph Gohike:

Octave plugin

To build the NLopt plugin for GNU Octave (a free Matlab clone, which uses the same NLopt interface as in Matlab), you will need the following additional steps. (See Octave for Windows on the Octave web page to download Octave.)

  1. First, download both the .zip file above and the main .tar.gz package of NLopt. Use dlltool (which comes with Octave in the octave\mingw23\bin directory) to create the .lib import library as explained above.
  2. Unpack the NLopt .tar.gz file, and copy the from the nlopt\octave directory, along with downloading nlopt_optimize_usage.h, and put them together with your .lib and .dll files (from the .zip).
  3. Compile the Octave plugin (.oct file) with mkoctfile -lnlopt-0 --output nlopt_optimize.oct (mkoctfile is a program included with Octave).
  4. Finally, move libnlopt-0.dll to the octave\bin directory so that Octave can find it.