Mex cannot find tmwtypes.h, "fatal error C1083: Cannot open include file", but it is in path

8 views (last 30 days)
I am trying to compile libsvm for my Matlab 2011b. However, when I do, I get this error:
>> make
libsvmread.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 -setup
Welcome 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? y
Select 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: 1
Please 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.

Accepted Answer

James Tursa
James Tursa on 22 May 2013
As a temporary workaround, try copying tmwtypes.h to your current directory just to see if it is a directory problem.
  1 Comment
ZY
ZY on 22 May 2013
Thanks for the response. I got it to work, but not exactly through using your method. While copying the file to my current working directory, I noticed that the file was called tmwtypes.h.h (with two .h) Since I have extensions hidden on this computer, I never saw the second .h. When I copied it to my working directory the Matlab explorer bar showed both .h.
I have had this issue for a week now. I have no idea how the second .h was ever attached. I don't think the person that used this computer before me would have ever had to use those files, so I'm really not sure how that happened.
Thanks for the help!

Sign in to comment.

More Answers (2)

Duc Manh
Duc Manh on 16 Apr 2014
I got exactly the same problem when I was trying to compile the CUDA file. Even though I copied tmwtypes.h to the current working directory, it still appeared the same error. If you're able to make it work, plz show me more detail. Thanks a lot!

shaoyin qiu
shaoyin qiu on 12 Jan 2017
MATLAB/extern/include

Categories

Find more on MATLAB Compiler in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!