MATLAB安装配置libsvm(matlab mex -setup缺少支持的sdk或编译器)

MATLAB安装配置libsvm(matlab mex -setup缺少支持的sdk或编译器)

由于最近实验要运用到CS-SVM(代价敏感SVM),安装libsvm进行尝试。
由于libsvm包里需要用到的文件是c文件格式,需要转化为matlab能用的dll文件格式,这需要用到编译器和mex -setup和make等语句。博主之前盲目照搬相关博客里的方法,吃了很多苦头,这里记录一下。

libsvm包

1.首先需要下载libsvm包:

从林教授的网站上下载: http://www.csie.ntu.edu.tw/~cjlin/libsvm/

2.将libsvm3.23解压到matlab/toolbox目录下:

解压后:C:\Program Files\MATLAB\R2016b\toolbox\libsvm-3.23

3.运行matlab,在matlab主页(home)的**“设置路径(set path)”**中添加libsvm:
设置为:C:\Program Files\MATLAB\R2016b\toolbox\libsvm-3.23\matlab

编译C文件(重头戏)

正常情况
  1. 在命令行窗口运行mex -setup:
    在这里插入图片描述
    2.出现如上内容,再对C语言文件进行编译,在在命令行窗口运行make:
    在这里插入图片描述
    就完事了。
别的情况

1.如果出现:
在这里插入图片描述
可以先试试setenv(‘编译器系统系统环境变量的名字’,‘编译器安装位置’),再重复“正常情况”的步骤。

2.之前没有装Visual Studio之类的工具,没有C编译器,则写mex -setup时候,也会出现上面的情况,这时候先应该点开图片中的网址,查看自己版本的matlab支持怎样的编译器再去下载相应的编译器。
(!!!!!!)博主之前有matlab r2014b,没有没有装Visual Studio之类的工具,盲目跟风下载TDM-GCC编译器,其实matlab r2014b是不支持TDM-GCC编译器的。后来查看图片中的网址,发现matlab r2014b除了支持部分vs编译器外,还支持Mirosoft Window sdk 7.1(有兴趣可以看libsvm的make或者mex不成功(No supported compiler or SDK was found)),可是由于Mirosoft Window sdk 7.1需要有.NET framework 4的支持(关于查看自己的电脑用的什么版本.NET framework),博主电脑里已经有更高版本的NET framework了只好放弃。因为不想装Visual Studio,只好重新下载了matlab r2016b(下载matlab r2016b MatLab2016b破解版安装教程)。

3.下载并且安装TDM-GCC:http://tdm-gcc.tdragon.net/download ,配置系统环境变量,变量为:MW_MINGW64_LOC,值为:TDM-GCC-64的安装位置。

4.在MATLAB命令行内运行命令

setenv(‘MW_MINGW64_LOC’,folder),folder为TDM-GCC的安装位置,要加单引号。

此时mex可以正常使用,不然重启matlab即可。

5.make出现问题(请查看MATLAB安装配置libsvm(附MinGW64配置)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值