解决在matlab中输入mex -setup出现错误等问题

折腾了好久,终于解决了我自己的问题,豁然开朗同时想写下来,同大家分享

话不多说,这就开始:
问题出现的开始,是我将Libsvm工具包添加到Matlab中的tools文件中后,为了使用SVM进行数据分类,运行到svmtrain函数时出现的问题,matlab会报错:
Invalid MEX
‘F:…\toolbox\mex\mexw64\svmtrain.mexw64’
即:找不到指定的程序

可是明明下载了工具包libsvm_3.22, 且内部matlab文件中也有svmtrain.c 自己的电脑里也下载有Microsoft Visual C++ 2005 、Microsoft Visual C++ 2012、Microsoft Visual C++ 2008、Microsoft Visual C++ 201364、Microsoft Visual C++ 201386等等(不要问我为什么装了这么多 因为我也不知道为什么) 出现这个问题,还是说明我的matlab并没有找到它能识别的编译器,于是 我又装了 Microsoft Visual Studio 2010.
(此刻心疼一下我的电脑)

这下,当输入mex -setup 后可以运行了,出现:
要选择不同的语言,请从以下选项中选择一种命令:

mex -setup C++
mex -setup FORTRAN

选择:C++

会出现告警:
Warnin

### 配置 MATLAB 中的 C++ 编译器 为了在 MATLAB 中配置并使用 C++ 编译器来创建 MEX 文件,需遵循特定步骤以确保编译过程顺利进行。 #### 检查现有编译器 可以通过在 MATLAB 命令窗口输入 `mex -setup` 来查看当前可用的编译器列表[^1]。这一步骤有助于确认系统上已安装哪些支持的编译器以及它们的状态。 #### 设置 MinGW64 编译器 对于采用 MinGW64 作为 C++ 编译器的情况,应执行如下命令: ```matlab mex -setup 'E:\Program Files\MATLAB\R2015b\bin\win64\mexopts\mingw64_g++.xml' ``` 此路径指向了 MinGW64 的 XML 配置文件位置,该文件包含了构建 MEX 文件所需的全部参数和选项设置[^2]。 #### 使用 Microsoft Visual Studio 2013 编译器 当选择微软提供的 Visual Studio 2013 版本时,则需要指定另一个不同的 XML 文件地址来进行初始化: ```matlab mex -setup 'C:\Users\sam\AppData\Roaming\MathWorks\MATLAB\R2015b\mex_C++_win64.xml' ``` 这条指令同样指定了一个包含 VS2013 相关配置细节的 XML 文件路径。 #### 安装内置编译器(适用于未安装外部 IDE 用户) 针对那些尚未安装任何版本 Visual Studio 或其他第三方开发工具链的用户来说,MATLAB 提供了一个简易方案——即通过官方渠道下载并激活内嵌于软件包内的 GCC/G++ 工具集[^3]。不过,在大多数情况下推荐优先考虑利用更广泛兼容和支持更新频繁的标准发行版如上述提到过的两种方式之一。 完成以上任意一种方法之后再次运行 `mex -setup` 应能够成功识别到新添加好的编译环境,并允许后续调用相应语言编写源码生成对应的动态链接库(.dll),从而实现跨平台高效计算能力扩展的目的[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值