NeuroElf comes with pre-compiled MEX files for the following platforms:
While NeuroElf comes with these bundled files, it sometimes is preferable to compile source code on the machine which it is running on (plus, if your type of system is not on the above list, you just need to have these MEX files compiled!)
First, you need a Matlab-compatible compiler. And then, depending on your system, …
For Linux/Unix/Solaris systems, GCC should do. Occasionally, you will get link error messages about incompatibilities between the libstdc++ files stored in Matlab's path (MATLABROOT/sys/os/OSTYPE/libstdc++.so.6.X.Y). In that case, simply rename those files and link the system-wide version (found in /usr/lib/libstdc++.so.6.X.Y) into this directory for Matlab to find them. Matlab might still issue warnings about the version of GCC, but the files produced should at least work on your very machine.
The operating system does not come with a compiler (in most cases, at least), but the bundled software contain the XTools, which also contains the GCC compiler. Once this compiler is installed, compilation of MEX files should work fine.
For Windows, I personally prefer the freely available MicroSoft VC++ 2008 Express edition. Be aware that to compile 64-bit MEX files, you must also install the SDK for Windows 2008, see the solution provided by MathWorks.com (for newer versions of Windows, please follow these instructions).
For non-Mac systems, Octave should come with a bundled compiler (Windows) or, for Linux systems, is compiled from sources or the system definitely should have a compiler installed. If you wish to use NeuroElf under Octave and you run into problems getting the MEX files compiled, please get in touch under
info (a) neuroelf (.) net.