I am trying to compile libsvm for my Matlab 2011b. However, when I do, I get this error:
>> makelibsvmread.c c:\program files\matlab\r2011b\extern\include\matrix.h(294) : fatal error C1083: Cannot open include file: 'tmwtypes.h': No such file or directory C:\PROGRA~1\MATLAB\R2011B\BIN\MEX.PL: Error: Compile of 'libsvmread.c' failed. If make.m fails, please check README about detailed instructions.
I have looked in the folder C:\program files\matlab\r2011b\extern\include and tmwtypes.h is in there. I have also checked that this folder is in my Matlab Path.
I then tried mex -setup:
>> mex -setupWelcome to mex -setup. This utility will help you set up a default compiler. For a list of supported compilers, see http://www.mathworks.com/support/compilers/R2011b/win64.html Please choose your compiler for building MEX-files: Would you like mex to locate installed compilers [y]/n? ySelect a compiler: [1] Microsoft Software Development Kit (SDK) 7.1 in C:\Program Files (x86)\Microsoft Visual Studio 10.0 [2] Microsoft Visual C++ 2010 Express in C:\Program Files (x86)\Microsoft Visual Studio 10.0 [0] None Compiler: 1Please verify your choices: Compiler: Microsoft Software Development Kit (SDK) 7.1 Location: C:\Program Files (x86)\Microsoft Visual Studio 10.0 Are these correct [y]/n? y*************************************************************************** Warning: MEX-files generated using Microsoft Windows Software Development Kit (SDK) require that Microsoft Visual Studio 2010 run-time libraries be available on the computer they are run on. If you plan to redistribute your MEX-files to other MATLAB users, be sure that they have the run-time libraries. *************************************************************************** Trying to update options file: C:\Users\windows\AppData\Roaming\MathWorks\MATLAB\R2011b\mexopts.bat From template: C:\PROGRA~1\MATLAB\R2011b\bin\win64\mexopts\mssdk71opts.bat Done . . . ************************************************************************** Warning: The MATLAB C and Fortran API has changed to support MATLAB variables with more than 2^32-1 elements. In the near future you will be required to update your code to utilize the new API. You can find more information about this at: http://www.mathworks.com/support/solutions/en/data/1-5C27B9/?solution=1-5C27B9 Building with the -largeArrayDims option enables the new API. **************************************************************************
I seem to have 2 compilers. I have tried using both and then redoing the make and it still throws the same error.
Also note that this problem is not exclusive to libsvm, trying to compile any c file causes this same error for me, ie: mex test_c_code.c.
I have also tried modifying the tmwtypes.h in matrix.h to "tmwtypes.h", but it did not chance the error.
I am running 64 bit windows 7, if that helps.
Best Answer