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

12 次查看(过去 30 天)
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.

采纳的回答

James Tursa
James Tursa 2013-5-22
As a temporary workaround, try copying tmwtypes.h to your current directory just to see if it is a directory problem.
  1 个评论
ZY
ZY 2013-5-22
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!

请先登录,再进行评论。

更多回答(2 个)

Duc Manh
Duc Manh 2014-4-16
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 2017-1-12
MATLAB/extern/include

类别

Help CenterFile Exchange 中查找有关 MATLAB Compiler 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by