.mex 文件 matlab。 Libsvm 错误
Posted
技术标签:
【中文标题】.mex 文件 matlab。 Libsvm 错误【英文标题】:mex file matlab. Libsvm error 【发布时间】:2016-04-04 15:04:19 【问题描述】:我尝试将 .c 文件编译为 .mex ,一切顺利并创建了 mex 文件,但它仍然给我以下错误。任何人都可以解释什么是 .exp 文件以及为什么它给我错误?
找不到 E:\research data\libsvm-3.21\libsvm-3.21\matlab\svmtrain.exp
找不到 E:\research data\libsvm-3.21\libsvm-3.21\matlab\svmtrain.exp MEX 成功完成。 使用“Microsoft Windows SDK 7.1 (C++)”构建。
找不到 E:\research data\libsvm-3.21\libsvm-3.21\matlab\svmpredict.exp
找不到 E:\research data\libsvm-3.21\libsvm-3.21\matlab\svmpredict.exp MEX 成功完成。
【问题讨论】:
【参考方案1】:这个问题可能是C++编译器版本不同造成的。
我通过选择 C++ 2010 编译器解决了这个问题。
要设置编译器,请先输入"mex -setup"
,然后输入"mex -setup:I:\matlab2014b_win7\installation(root of your matlab installation)\bin\win64\mexopts\msvc2010.xml"
MEX 配置为使用“Microsoft Visual C++ 2012 (C)”进行 C 语言编译。 警告:MATLAB C 和 Fortran API 已更改为支持 MATLAB 具有超过 2^32-1 个元素的变量。在不远的将来 您将需要更新您的代码以使用 新的 API。您可以在以下位置找到更多信息: http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.
要选择不同的 C 编译器,请从以下选项中选择一个:
Microsoft Visual C++ 2010 (C) mex -setup:I:\matlab2014b_win7\installation\bin\win64\mexopts\msvc2010.xml C Microsoft Visual C++ 2012 (C) mex -setup:C:\Users\Administrator\AppData\Roaming\MathWorks\MATLAB\R2014b\mex_C_win64.xml C Microsoft Visual C++ 2013 专业版 (C) mex -setup:I:\matlab2014b_win7\installation\bin\win64\mexopts\msvc2013.xml C【讨论】:
以上是关于.mex 文件 matlab。 Libsvm 错误的主要内容,如果未能解决你的问题,请参考以下文章
安装Libsvm工具箱出现问题E:\MATLAB7\BIN\WIN32\MEX.PL: Error: 'CFLAGS=\$CFLAGS -std=c99