This page briefly documents how to configure MEX compilation environment for use with the {{{use_dll}}}-option of {{{model}}}. = Octave = Octave comes with capacities for compiling MEX-file. However, under Linux, you might have to install the {{{liboctave-dev}}}. = MATLAB = If you are using MATLAB, please check [[[http://www.mathworks.com/support/compilers| the list of supported compilers]] for your MATLAB version on your operating system. After installing your compiler, select it using {{{mex -setup}}} in Matlab and clicking on the required compiler. == Linux == Under Linux you need to have a working compilation environment installed. If not already present, it can be installed via {{{ apt-get install build-essential }}} (requires root privileges). This will set up {{{gcc}}} == macOS == If you are using Matlab under Mac OS X, you should install the latest version of [[https://developer.apple.com/xcode/ |XCode]] == Windows == Two compilers are currently supported by Matlab: Microsoft's [[https://www.visualstudio.com/| Visual C++ (MSVC)]] (free in its Commmunity edition) and, since Matlab R2015b, the MinGW-w64 C/C++ Compiler from TDM-GCC. To install this compiler, use the Add-Ons menu of MATLAB. Search for MinGW or select it from Features. For older version of MATLAB, in particular before R2014a, it may sometimes make sense to use the GNU C compiler (gcc) from Cygwin. Under Windows when calling Dynare with the {{{use_dll}}}-option, you need to tell Dynare which compiler you are using: * if you are using Microsoft Visual C++: {{{ dynare modfilename msvc }}} * if you are using MinGW: {{{ dynare modfilename mingw }}} * if you are using Cygwin, type at the MATLAB prompt: {{{ dynare modfilename cygwin }}} = Legacy information = Before Matlab R2014, MEX-compiling was governed by a {{{bat}}}-file, later versions work via (more involved) {{{xml}}}-files. Here, we provide a description on how to set up Cygwin using the {{{bat}}}-file option. If you have a newer Matlab version, you have to either figure out how to translate the {{{bat}}}-file settings to {{{xml}}} or, even better, use one of the two other compilers available. === Configuring MATLAB versions before R2014a with GNU C compiler (gcc) from Cygwin === * Install a Cygwin environment (see http://www.cygwin.com). If your MATLAB is 32-bit, you need the "mingw64-i686-gcc" package. If your MATLAB is 64-bit, you need the "mingw64-x86_64-gcc" package. * The configuration file is called [[https://github.com/DynareTeam/dynare/raw/master/windows/mexopts-win32.bat|mexopts-win32.bat]] for MATLAB 32-bit, and [[https://github.com/DynareTeam/dynare/raw/master/windows/mexopts-win64.bat|mexopts-win64.bat]] for MATLAB 64-bit * Rename the configuration file to {{{mexopts.bat}}}, and copy it to the right directory, which will be (depending on your version of Windows): * {{{c:\Users\\AppData\Roaming\MathWorks\MATLAB\\}}} (Windows 8) * {{{c:\Users\\Application Data\MathWorks\MATLAB\\}}} (Windows Vista/7) * {{{c:\Documents and Settings\\Application Data\MathWorks\MATLAB\\}}} (Windows XP) * Note that if you installed Cygwin in a non-standard directory (i.e. elsewhere than {{{C:\CYGWIN}}}), you need to edit the {{{mexopts.bat}}} and change the {{{set PATH=...}}} line accordingly. === Configuring MATLAB releases before R2010a with Microsoft Visual C++ (MSVC) === Earlier versions of Matlab before R2010a do not support Visual Studio 2010: * For Matlab 2010a there is a patch available at http://www.mathworks.de/support/solutions/en/data/1-D5W493/?solution=1-D5W493. * For versions before 2010a, use Visual C++ 2008 Express Edition, downloadable [[http://go.microsoft.com/?linkid=7729279]|here]]. * For users of MATLAB 64-bit releases before R2010a, please follow [[http://www.mathworks.fr/support/solutions/en/data/1-6IJJ3L/index.html?solution=1-6IJJ3L|these instructions]] for finishing the installation.