最近需要使用支持向量机,要用到libsvm这个工具箱,中间遇到不少问题。现在将整个的安装流程写在下面,大家遇到问题可以对应着看,应该怎么解决。我的软件环境是Matlab R2016a。
1、下载libsvm工具箱
请访问此链接下载,来自Matlab中文论坛faruto大神的贡献。http://www.ilovematlab.cn/thread-54665-1-1.html
2、将其设置到Matlab的工作目录中
解压出来,在Matlab首页选项卡-->环境-->设置路径中,添加并包含子文件夹,选择libsvm的解压目录,你会发现,右边Matlab搜索路径下面,就出现了libsvm的所有子目录。保存并关闭。
3、准备安装C编译器
这一步是最折腾的,libsvm最早是为了C语言写的,后面为了将其应用在Matlab,需要在电脑上安装C编译器。
如何确认你的电脑上已经装好了编译器?执行Matlab命令,如果你能执行成功的话,就说明你已经安装好了。
mex -setup
如果你还没有安装编译器,你可以选择安装Visual Studio系列编译器,或者使用MATLAB官方推荐的MinGW-w64 C/C++ 编译器。这款编译器免费,对于我们libsvm来说,已经足够使用了。
4、安装MinGW-w64 C/C++ 编译器
(1)你的MATLAB是正版
推荐使用MATLAB自带的Add-ons进行安装,在首页上找到“附加功能”,在里面搜索关键词MinGW安装即可。
(2)你的MATLAB是盗版
相信很多人都是这种情况,如果你的MATLAB是盗版,当你进入附加功能的时候,你会看到这样的画面。嗯,官方不让你访问Add-ons。这种情况下,我们就要手动安装MinGW编译器了。请按如下步骤执行。
- 下载MinGW安装包,注意区分32位和64位。http://tdm-gcc.tdragon.net/download
- 一步步安装即可,千万注意,直接安装到C盘根目录下即可,即“C:\TDM-GCC-64”,不要安装到Program Files下。因为稍后配置编译器的时候,MinGW的安装目录不能有空格!也就是说,你安装到其它目录也行,只要确保整个路径没有空格就行,不过为了方便,还是C盘根目录吧。
-
新建环境变量MW_MINGW64_LOC,设置为TDM-GCC-64的安装位置。进入“控制面板\系统和安全\系统”,选择高级系统设置,高级,环境变量,新建,填入相关信息即可。
- 新建好环境变量之后,重启MATLAB。需要注意的是,新建环境变量,需要你有系统管理员权限。我们推荐使用修改系统环境变量,因为这样一劳永逸,一次设置,以后都能用。如果你没能新建系统环境变量,可以尝试一次性的环境变量,一次性环境变量在MATLAB里配置,执行以下代码即可,后续每重新启动一次MATLAB,都要执行一次,folder为MinGW安装目录,需要有单引号括起来。
setenv('MW_MINGW64_LOC',folder)
- 上述新建环境变量的方法(系统环境变量、一次性环境变量)仅针对MATLAB R2015b-2017a版本,如果你是R2017b及以后版本,请直接去这个网页,查看解决方案。https://cn.mathworks.com/matlabcentral/answers/313298-i-already-have-mingw-on-my-computer-how-do-i-configure-it-to-work-with-matlab
-
配置好编译器以后,再执行一下mex -setup命令。
5、最后配置
将你的工作目录,设置为libsvm中的matlab子目录,确认是否存在make.m文件。无误后,在命令行中执行make命令。
至此安装完毕。