Intel Fortran 14.0 (XE2013 SP1) VS2012 SP1 Matlab 2013b. Naturally to make mex -setup work I had to make special versions of the stp, bat and xml files in changing 13 to 14 everywhere in these text files. For default options compiling this API was easy but for -largeArrayDims one MUST
add /integer_size:64 to the end of set COMPFLAGS= in mexopt.bat (User/.../) if and only if one wants to compile your API with -largeArrayDims. Without this flag one gets a rahter cryptic error MatlabAPImx.f(3436): error #6415: This name cannot be assigned this data type because it conflicts with prior uses of the name. [N]
integer*8, intent(in) :: n
Compilation on Intel Visual Fortran 12.0 (ComposerXE-2011) integrated into VS 2008 SP1 WinXP SP3 32bit
After evident changes in the following files (everywhere '11' was replaced with '12'):
intelf11msvs2008engmatopts.bat (in MATLAB/bin/Win32/mexopts/)
Then I chose Intel Fortran (mex -setup)
and run MatlabAPI_build_intelf12msvs2008 (made from MatlabAPI_build_intelf10msvs2005.m)
and after several seconds of very optimistically looking reports I ran into the following error:
MatlabAPI build script for Intel Fortran 12 with MSVS 2008 Linker
... Compiling module MatlabAPImx with large model
... Compiling module MatlabAPImex
... Compiling module MatlabAPIeng
... Compiling module MatlabAPImat
... Compiling MatlabAPI_real.f example
LINK : fatal error LNK1104: cannot open file 'ifconsol.lib'
E:\MATLAB~2\BIN\MEX.PL: Error: Link of 'MatlabAPI_real.mexw32' failed.
I had to copy ifconsol.lib and sevaral other lib files from Intel Fortran/compiler/lib/ia32
and finally all compiled and linked and MatlabAPI_real ran sucessfully.
At the first glance this library is a little gem and its a pity that Mathworks has not incorporated such functions into Matlab MEX interface yet.