您的位置:首页 > 编程语言 > MATLAB

windows平台上在matlabR2017a中编译LibSVM--VS2017

2017-09-20 11:31 656 查看
Matlab R2017a有个bug,就是在用mex编译c/c++程序的时候,如果要用vs2017的编译器(支持c++17)的时候需要打一个补丁,补丁是2017年5月才出的。
![matlabr2017a支持和兼容的编译器](https://img-blog.csdn.net/20170920111945708?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTEwODI0NA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
要下载这个链接中的补丁必须具有一个相应权限的mathworks账户。我把这个存在自己的网盘中了:链接:http://pan.baidu.com/s/1eRMEWim 密码:m7ga
下载好这个补丁包之后,按照以下步骤操作:


1. 解压缩

2. 将attachment_1487958_17a_win64_2017-05-10\bin\win64\mexopts中的两个.xml文件复制到自己的matlab路径下的同名文件夹中。(需要管理员权限)

3. 以管理员权限运行matlab,然后:

>>mex -setup选择Microsoft Visual C++ 2017 (C)
>> make
Building with 'Microsoft Visual C++ 2017 (C)'.
MEX completed successfully.
Building with 'Microsoft Visual C++ 2017 (C)'.
MEX completed successfully.
Building with 'Microsoft Visual C++ 2017'.
MEX completed successfully.
Building with 'Microsoft Visual C++ 2017'.
MEX completed successfully.


补充:R2017b已经做了这个修补。

参考:https://www.mathworks.com/support/bugreports/1487958
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息