# NLopt on Windows

(Difference between revisions)
 Revision as of 21:18, 16 October 2010 (edit)Stevenj (Talk | contribs) (→Octave plugin)← Previous diff Revision as of 21:20, 16 October 2010 (edit)Stevenj (Talk | contribs) (→NLopt on Windows)Next diff → Line 17: Line 17: ===Octave plugin=== ===Octave plugin=== - To build the NLopt plugin for [[w:GNU Octave|GNU Octave]] (a free Matlab clone, which uses the [[NLopt Matlab Reference|same NLopt interface as in Matlab]]), you will need the following additional steps. + To build the NLopt plugin for [[w:GNU Octave|GNU Octave]] (a free Matlab clone, which uses the [[NLopt Matlab Reference|same NLopt interface as in Matlab]]), you will need the following additional steps. (See [http://wiki.octave.org/wiki.pl?OctaveForWindows Octave for Windows] on the Octave web page to download Octave.) # 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. # 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.

## NLopt on Windows

NLopt works fine on Microsoft Windows computers. To simplify installation, we provide a precompiled 32-bit Windows DLL, built with MinGW (using this script):

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 --def-input 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` ατ `gmail.com`), to compile NLopt from source on Windows (with the Microsoft compiler) using CMake:

### 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 `nlopt_optimize-oct.cc` 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 nlopt_optimize-oct.cc` (`mkoctfile` is a program included with Octave).
4. Finally, move `libnlopt-0.dll` to the octave`\bin` directory so that Octave can find it.