2015-12-30 2 views
2

Я пробовал компилировать файлы .c в .mex, все идет хорошо, и создаются файлы mex, но все же это дает мне следующие ошибки. может ли кто-нибудь объяснить, что такое .exp-файл и почему он дает мне ошибку?mex file matlab. Ошибка Libsvm

Не может найти E: \ данные исследования \ libsvm-3,21 \ libsvm-3,21 \ MATLAB \ svmtrain.exp

Не может найти E: \ данные исследования \ libsvm-3,21 \ libsvm-3,21 \ MATLAB \ svmtrain .exp MEX завершен успешно. Здание с «Microsoft Windows SDK 7.1 (C++)».

Не может найти E: \ данные исследования \ libsvm-3,21 \ libsvm-3,21 \ MATLAB \ svmpredict.exp

не удалось найти E: \ исследования данных \ 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 компиляции.
Предупреждение: API MATLAB C и Fortran был изменен для поддержки переменных MATLAB
с более чем 2^32-1 элементами. В ближайшем будущем вам потребуется обновить код, чтобы использовать новый API . Вы можете найти дополнительную информацию об этом по адресу: http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.

Чтобы выбрать другой компилятор, выберите один из следующих вариантов:

  • Microsoft Visual C++ 2010 (C)
    MEX -SETUP: I: \ matlab2014b_win7 \ установка \ 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 Professional (C)
    mex -setup: I: \ matlab2014b_win7 \ installation \ bin \ win64 \ mexopts \ msvc2013.xml C