Why do only two .c files from libsvm compile to mex files?
1 view (last 30 days)
Show older comments
I am using MATLAB 2015a and have loaded libsvm 3.20. Following the instructions in README only libsvmread and libsvmwrite are changed to .mexw64 files. Here is what I have done:
>>make
Building with 'Microsoft Windows SDK 7.1 (C)'.
MEX completed successfully.
Building with 'Microsoft Windows SDK 7.1 (C)'.
MEX completed successfully.
If make.m fails, please check README about detailed instructions.
>>mex -setup
MEX configured to use 'Microsoft Windows SDK 7.1 (C)' for C language compilation.
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/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.
To choose a different language, select one from the following:
mex -setup C++
mex -setup FORTRAN
The above is what I see when I follow the README instructions. And only two of the files are compiled to .mexw64. I have all the up to date SDK and .NET programs installed on Windows 8.1. If I select C++ I have the same problem. Please advise.
1 Comment
Answers (1)
Walter Roberson
on 7 Aug 2015
Hypothetically, two (or even one) mex* could be enough: each .mex* file is an object library, the equivalent of a dll if it needs to be, so all of the *.c could compile and link together into a small number of object libraries.
3 Comments
Walter Roberson
on 7 Aug 2015
Look starting from the LIBSVM directory and indicate which directory you find svm.h in.
Konstantina Tsekoura
on 21 Apr 2018
Did you solve it? If yes please let me know what you did. Thanks in advance
See Also
Categories
Find more on MATLAB Compiler in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!