我尝试将.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成功完成。
答案 0 :(得分: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编译器,请从以下选项中选择一个: