首先声明版本,本人PC系统Windows10 64bit,matlab安装的2016b,libsvm安装的version3.2.2
1.首先需要下载libsvm包:
从林教授的网站上下载: http://www.csie.ntu.edu.tw/~cjlin/libsvm/
2.将libsvm3.2.2解压到matlab/toolbox目录下:
解压后:D:\matlab2016b\toolbox\libsvm-3.22
3.运行matlab,在主页(home)的设置路径(set path)中添加libsvm:
4.将当前路径设置到libsvm 3.2.2/matlab 后,在命令行窗口运行
mex -setup
出现如上内容,再对C语言文件进行编译,编译为matlab能够识别的文件,在命令行窗口输入编译命令:
make
如图即为编译成功。
如果出现Error内容如下:
使用 'MinGW64 Compiler (C)' 编译。
Error: D:\matlab2016b\toolbox\libsvm-3.22\matlab\make.m failed (line 13)
gcc: error: \-fexceptions: No such file or directory
=> Please check README for detailed instructions.
需要打开libsvm3.2.2/matlab目录下的make.m,将其中所的CFLAGS替换为COMPFLAGS(替换运用CTRL+F即可),替换后执行make则可以编译成功。
编译结束后,当前文件夹中有我们所需的matlab文件:
*附加步骤:
如果以前没有安装过matlab下的C编译器,需要安装新的编译器,否则会出现:
安装以MinGW64 Compiler (C++)为例。
1.首先下载并且安装TDM-GCC:
http://tdm-gcc.tdragon.net/download
建议安装在C盘根目录下,根据许多前辈的经验,目录中名称不能出现空格。
2.配置环境变量:
从我的电脑属性-高级系统设置-高级-环境变量中,添加到系统变量(大部分配置环境变量都是如此)。
变量为:MW_MINGW64_LOC,
值为:TDM-GCC-64的安装位置。
3.在MATLAB命令行内运行命令
setenv('MW_MINGW64_LOC',folder),folder为TDM-GCC的安装位置,要加单引号。
此时mex可以正常使用,不然重启matlab即可。