1. MATALB中运行mex -setup
出现问题,未找到编译器,让我安装MinGW-w64,我已经安装了VS,干嘛还要去安装什么其他编译器。
2. MATLAB中运行mex -setup -v,进入详细模式搜索
注意看红色框部分,MATLAB主要从注册表中读取SDK和Visual studio的安装路径,出现“否”就代表注册表或环境变量中没有相应的信息或者信息错误。因此我们可以根据具体情况修改注册表和环境变量。
3. 按WIN+R键,输入regedit,打开注册表
上图中“HKLM”代表“HKEY_LOCAL_MACHINE”,而“HKCU”代表“HKEY_CURRENT_USER”。
(1)我们按照上图红框中MATLAB的提示“‘HKLM\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7’”先进入HKEY_LOCAL_MACHINE下的路径,发现VisualStudio下竟然没有“SxS”,我们手动添加上,并加上VS7和16.0
“16.0”的值设置为VS的目录,我的是2019社区版,所以按照上面的路径设置。这里要注意的是要按照你的VS版本设置相应的值,比如VS2019就是16.0,千万不要和以前的版本搞混。
(2)按照MATLAB的提示“‘HKCU\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\SxS\VS7’”进入HKEY_CURRENT_USER下的路径,同样加上SxS、VC7和16.0
这里“16.0”的值设置为VC的目录。
4. 添加VS文件
进入MATLAB安装目录下(E:\MAT\bin\win64\mexopts),添加两个文件“msvc2019.xml”和“msvcpp2019.xml”:(若你的是其他版本也一样,找对应的)
5. MATLA中再次运行mex -setup -v
配置为“Microsoft Visual C++ 2019 ©”编译器,成功!