64bit 运行libSVM错误的解决办法

> ??? Error using ==> svmtrain
> Function "mxGetIr_700" is obsolete in file ".\compat32.cpp", line 282.
> (64-bit mex files using sparse matrices must be rebuilt with the "-largeArrayDims" option. See the
> R2006b release notes for more details.)

When I was using svmtrain in libsvm. I got this same problem. I write the software author (Chih-Jen Lin), he said that we need to modify make.m, add -largeArrayDims on 64-bit machines. So we need: 

mex -O -largeArrayDims ...

now the make file is like this:

mex -O -largeArrayDims -c svm.cpp
mex -O -largeArrayDims -c svm_model_matlab.c
mex -O -largeArrayDims svmtrain.c svm.obj svm_model_matlab.obj
mex -O -largeArrayDims svmpredict.c svm.obj svm_model_matlab.obj
mex -O -largeArrayDims libsvmread.c
mex -O -largeArrayDims libsvmwrite.c

It fixed the problem. Enjoy~
转载自:http://blog.163.com/wang_pw/blog/static/24841039201012673615130

你可能感兴趣的:(64bit 运行libSVM错误的解决办法)