一、不兼容64位
错误提示:
libsvm 64-bit mex files using sparse matrices must be rebuilt with the "-largeArrayDims" option
解决方法:
将 make.m中 的 -o 全部替换成 -largeArrayDims
最终结果如下:
mex -largeArrayDims -c svm.cpp
mex -largeArrayDims -c svm_model_matlab.c
mex -largeArrayDims svmtrain.c svm.obj svm_model_matlab.obj
mex -largeArrayDims svmpredict.c svm.obj svm_model_matlab.obj
mex -largeArrayDims libsvmread.c
mex -largeArrayDims libsvmwrite.c
二、与系统自带的 svmtarin svmpredict 同名冲突
解决方法:改名
首先将编译生成的
svmpredict.mexw64
svmtrain.mexw64
改成:
libsvm_svmpredict.mexw64
libsvm_svmtrain.mexw64
然后要使用svmpredict 函数时改成使用libsvm_svmpredict,要使用svmtrain 函数时,改成使用函数libsvm_svmtrain。