matlab 安装libsvm良心教程

Source
版权声明: https://blog.csdn.net/qq_39463175/article/details/88583931

     今天安装了libsvm,没走上正确的道路,浪费了很长时间,想把安装过程记录下来,希望以后看到这个笔记时能想起来,想安装的人少踩一点坑。

      我遇到的问题比较奇怪:在使用make 命令时,只生成2个.mexw64文件(命令使用时路径正确,同时也把make.m原来的CFLAGS替换为COMPFLAGS).其他配置也对了,具体信息见下图:

版本介绍:

电脑:win7+64位

matlab:2016a

libsvm:  3.23

tdm64-gcc:5.1.0-2

libsvm,tdm64-gcc网上资源很多,自己下一个就好。libsvm和tdm64-gcc并非版本越高越好,可以自己试试。

安装libsvm

    本次配置我下载的是最新版的libsvm-3.23(64位),然后解压在F:\matlab\toolbox下(也许你安装在其他盘,但只要找到matlab\toolbox目录下即可)

安装tdm64-gcc

我在安装tdm64-gcc-5.1.0-2后,在设置环境变量时多了一个值(因为一开始我按照网上步骤来发现make后还是错的,所以就改了一下,我安装在F:\matlab\GCC目录下的,这里和别人有所不同),变量名:MW_MINGW64_LOC,值:F:\matlab\GCC;F:\matlab\GCC\bin

弄好后一定要点确定(这里很多人容易忘记)

目的(围绕生成4个.mexw64文件)

      一直要确保自己在F:\matlab\toolbox\libsvm-3.23\matlab目录下,然后才能输入各种命令。在MATLAB命令行内运行命令setenv(‘MW_MINGW64_LOC’,‘folder’),folder为TDM-GCC的安装位置,我的为F:\matlab\GCC,如果发现‘  ’ 单引号为红色,在英文格式下输入英文单引号。然后回车,接着输入mex -setup命令,会出现下图:

 

然后输入:mex -setup C++,后输入:make,结果如下图:

可以看到在该路径下左边生成了4个.mexw64文件(注意看我所在路径):

 

如果make错误,可以参考http://cn.mathworks.com/help/matlab/matlab_external/compiling-c-mex-files-with-mingw.html?
requestedDomain=uk.mathworks.com,

只需要把make.m文件中CFLAGS替换为COMPFLAGS即可,然后在make(一直到生成4个.mexw64文件),如果还是错,去前面步骤找错误。

接着把.mexw64文件复制到windows目录下覆盖替换调以前文件。

测试安装是否成功

     目录还是前面强调那个,输入命令:[heart_scale_label,heart_scale_inst]=libsvmread('heart_scale');
model=svmtrain(heart_scale_label,heart_scale_inst,'-c 1 -g 0.07')回车,然后输入命令[predict_label,accuracy,dec_values]=svmpredict(heart_scale_label,heart_scale_inst,model);

结果如下图则说明成功: