一,mex -setup提示没有编译器
解决方法:从官网下载 tdm64-gcc-4.9.2 -- 安装(create)
在MATLAB环境中运行mex -setup依然提示没有编译器
二,在MATLAB环境下使用MinGW-w64编译C / C ++ MEX文件故障
Troubleshooting and Limitations Compiling C/C++ MEX Files with MinGW-w64 in matlab
win10环境下问题描述:根据MATLAB提示,下载tdm64-gcc-4.9.2 -- 安装 -- 自动配置环境变量(直接从path中配‘C:\TDM-GCC-64\bin’)。MATLAB执行mex -setup出错。
解决方法,转自Matlab官网:
同样可以参考:
http://blog.csdn.net/desire121/article/details/60466845
1.新建环境变量MW_MINGW64_LOC,设置为TDM-GCC-64的安装位置(‘C:\TDM-GCC-64')
2.在MATLAB环境下执行setenv('MW_MINGW64_LOC',folder)。
3.重启MATLAB
三,>>make.m无法通过
问题描述:gcc: error: \-fexceptions: No such file or directory
解决方案参考:https://github.com/cjlin1/libsvm/issues/55
将make.m文件下的CFLAGS 替换成COMPFLAGS
四、调用libsvm-3.22下的svmtrain函数失败(MATLAB2016a版本下已经存在svmtrain)
解决方法:修改函数名
1楼(感谢)提醒我这里写得不清楚,为了更清晰,更新如下
1.修改与MATLAB自带函数冲突的C接口函数(.mexw64),如将svmtrain.mexw64修改成svmtrain1.mexw64。调用方法:svmtrain1(x,...,x)。
2.不需要修改.c文件。
感谢:MathWorks,Desire121 ,alicanb , zhi465728263