Matlab R2017a有个bug,就是在用mex编译c/c++程序的时候,如果要用vs2017的编译器(支持c++17)的时候需要打一个补丁,补丁是2017年5月才出的。

要下载这个链接中的补丁必须具有一个相应权限的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已经做了这个修补。