2015-02-19 3 views
1

Я хотел бы скомпилировать файл C++ в виде файла mex в MATLAB, а именно: «mexLasso.cpp».Неустранимая ошибка C1083: Не удается открыть файл include: 'mexutils.h': Нет такого файла или каталога

Это шаги, которые я предпринимаю, и я получаю следующее сообщение об ошибке. В чем проблема?

1. Поместите файлы «mexLasso.cpp» и «mexutils.h» в папку.

2. Установите компилятор:

mex -setup C++ 

Я получаю:

MEX configured to use 'Microsoft Visual C++ 2013 Professional' for C++ language compilation. 

3. Выполните команду:

mex C:\...\mexLasso.cpp 

Я получаю следующее сообщение об ошибке :

Error using mex 
mexLasso.cpp 
C:\...\mexLasso.cpp(33) : fatal error C1083: Cannot 
open include file: 'mexutils.h': No such file or directory 

Может ли кто-нибудь помочь нам, чего нам не хватает?

+0

Это путь не имеет смысла: 'C: \ ... \ mexLasso.cpp' Предполагаю, что у вас нет папки в C: \ named' ... ', содержащей ваш исходный код. – drescherjm

+0

Путь, который я выделил для простоты. Пожалуйста, проигнорируйте его – YAS

+0

Я предполагаю, что проблема заключается в том, что путь, содержащий 'mexutils.h', не входит в ваши дополнительные каталоги include для VS2013, поэтому компилятор не может найти заголовок. – drescherjm

ответ

1

Из mex command line tool reference, есть аргумент для добавления включают пути:

-Ipathname Adds pathname to the list of folders to search for #include files.
Do not add a space between I and pathname.

Как это:

mex -v -IC:\path\to\mexutils_h\ mexLasso.cpp 

Обратите внимание, что с -I вы не указываете заголовок, вы указываете путь содержащий один или несколько файлов заголовков.

+0

Thanks. В примере ссылки, которую вы предоставили (-Ipathname), мне нужны эти? fortfile, lapacklib Вы можете предложить мне команду? Спасибо – YAS

+0

Я применил: mex -v -IC: \ Users \ Yashar \ Desktop \ CVPR2011 \ mexutils.h \ mexLasso.каст и получил эту ошибку: ошибка при использовании MEX mexLasso.cpp C: \ Users \ Яшар \ Desktop \ CVPR2011 \ mexLasso.cpp (33): фатальная ошибка C1083: не может открыть файл включать: '' mexutils.h : Нет такого файла или каталога Ошибка в R (строка 6) mex -v -IC: \ Users \ Yashar \ Desktop \ CVPR2011 \ mexutils.h \ mexLasso.cpp – YAS

+1

@YAS Из вашего вышеуказанного комментария я ожидаю, что это будет 'mex -v -IC: \ Users \ Yashar \ Desktop \ CVPR2011 \ mexLasso.cpp' – drescherjm

0

Спасибо за ваши комментарии. Я думаю, что мой способ решить мою проблему - установить SPAMS на моем компьютере и успешно скомпилировать его. Я отправил шаги, которые я принять в этом посте:

How to install SPAMS toolbox in Matlab 2014b under windows 8.1

Могу ли я иметь свое мнение там. Извините за дублированное сообщение, только для релевантности и важности обсуждаемой темы.

Большое спасибо.