Support:Tech notes
Jump to navigation
Jump to search
Mex and compiler setting
How to set up mex compiler on a 64-bit Matlab using Visual Studio 2008 Professional
- I was using Visual Studio 2008 Profession that is free for college students. I believe 2008 Express works the same way, too.
- When you install Visual Studio 2008, I recommend to install 'Full' so that you are sure the 64-bit compilers and libraries are installed.
- Go to http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=18508&objectType=file. Download, uncompress and copy the x64 mex option files under the MATLABROOT\bin\win64\mexopts.
- Do a mex -setup. Let Matlab locate the installed compiler. Select "Microsoft Visual C++ 2008".
- Use mex command to compile a simple file. You get the following error
C:\PROGRA~1\MATLAB\R2007B\BIN\MEX.PL: Error: Using options file: C:\Users\deancool\AppData\Roaming\MathWorks\MATLAB\R2007b\mexopts.bat You cannot use this file with the WIN64 architecture because it enables a compiler for a different architecture. Running mex -setup may resolve this problem.
To fix this error:
- Locate your mexopts.bat file. Edit the following lines:
- Line 17 (set PATH): add '\amd64' after set PATH=%VCINSTALLDIR%\BIN\
- Line 19 (set LIB): add '\amd64' after set LIB=%VCINSTALLDIR%\ATLMFC\LIB and %VCINSTALLDIR%\LIB. Add '\x64' after C:\Program Files\Microsoft SDKs\Windows\v6.0A\lib
- Line 20: set MW_TARGET_ARCH=win64
- Line 34: set LIBLOC=%MATLAB%\extern\lib\win64\microsoft
- Line 36: /MACHINE:X64
NOTE: Environment - Windows Vista 64-bit, Matlab 2007b 64-bit. My mexopts.bat file: File:Mexopts.zip
How to set up the C compiler from Visual Studio 2008 on a 64-bit Windows system
- Go to control->system->environmental variables. Edit 'path' and add the following dir: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64
- Go to control->system->environmental variables. Edit 'LIB' and add the following dir: C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\lib\amd64
Or go to C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\amd64 and run vcvarsamd64.bat
How to set up mex compiler on a 64-bit Matlab using MinGW
How to set up the C compiler from MinGW on a 64-bit Windows system
How to compile cvOdesGenMod5.c
Windows
1. Enter COMKATROOT\CVODESserial-2.3.0-2005\sundials\cvodes\source. Run:
cl /c /I..\include /I..\..\shared\include *.c lib /out:cvodes.lib *.obj
Copy cvodes.lib to the COMKATROOT\lib\win64 folder (change win64 according to your system) 2. Enter COMKATROOT\CVODESserial-2.3.0-2005\sundials\shared\source. Run:
cl /c /I..\include *.c lib /out:sundials.lib *.obj
Copy sundials.lib to the COMKATROOT\lib\win64 folder (change win64 according to your system) 3. Enter COMKATROOT\CVODESserial-2.3.0-2005\sundials\nvec_ser. Run
cl /c /I..\shared\include *.c lib /out:nvec_ser.lib *.obj
Copy nvec_ser.lib to the COMKATROOT\lib\win64 folder (change win64 according to your system) 4.