2016-07-26 6 views
2

Я хочу использовать тип mex для vs2008 и matlab2007b.i, пробовал код ниже.Тип Mex для Microsoft Visual C++ 2008 и R2007b

#include<iostream> 
#include <matrix.h> 
#include<mex.h> 
using namespace std; 
void hello(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) 
{ 
    mexPrintf("Hello World!\n"); 
} 

и получить эту ошибку

'matrix.h': No such file or directory 

и я написал ниже в MATLAB commond выиграть

mex -setup 
Please choose your compiler for building external interface (MEX) files: 

Would you like mex to locate installed compilers [y]/n? y 

Select a compiler: 
[1] Lcc-win32 C 2.4.1 in C:\PROGRA~1\MATLAB\R2007b\sys\lcc 

[0] None 

Compiler: 

так, что нужно сделать, чтобы использовать Mex типа?

благодаря

+0

Я предполагаю, что вы выбрали вариант [1].Скорее всего, ваш компилятор не знает, где находится матрица.h, вам может понадобиться настроить его каким-то образом при связывании свойств –

ответ

0

Я вижу две проблемы:

  1. Вам не нужно включать <matrix.h>, <matrix.h> входит в <mex.h>. Попробуйте: include "mex.h" вместо <mex.h> и убрать include <matrix.h>.
  2. mex -setup не удалось найти компилятор Microsoft Visual C++ 2008.
  3. меню

Выбор должен выглядеть следующим образом:

Please choose your compiler for building external interface (MEX) files:

Would you like mex to locate installed compilers [y]/n? y

Select a compiler:
[1] Lcc-win32 C 2.4.1 in C:\PROGRA~1\MATLAB\R2007b\sys\lcc
[2] Microsoft Visual C++ 2008
[0] None

Поскольку Visual 2008 является новее, чем Matlab R2007b, Matlab не может автоматически найти Visual 2008.

Есть способ добавить его вручную.
См здесь: https://www.mathworks.com/matlabcentral/newsreader/view_thread/297616

Пожалуйста, обратите внимание: я не мог в полной мере проверить следующие инструкции, потому что у меня нет Matlab R2007b:

Шаг за шагом инструкции:

  1. Перейти к https://www.mathworks.com/matlabcentral/fileexchange/18508-microsoft-visual-studio-2008-mex-and-mbuild-setup-files
  2. Загрузите zip-файл VS2008Matlab.zip (нажмите синюю кнопку «Загрузить zip» в верхней правой части страницы).
  3. Извлечь zip-файл.
  4. Скопируйте содержимое папки VS2008MATLABMexCompilerFilesX64 в: C:\Program Files\MATALB\R2007b\bin\win64\mexopts (при условии, что ваша версия установлена ​​в 64-разрядной папке по умолчанию).
  5. Скопируйте содержимое папки VS2008MATLABMBuildCompilerFilesX64 в: C:\Program Files\MATALB\R2007b\bin\win64\msbuildopts
  6. Выполнить mex -setup и проверить Visual Studio 2008 есть в списке.
+0

, который я загрузил в 2005 году, но все же, когда я его запускаю, я получаю «фатальную ошибку C1083: не могу открыть файл include:« mex.h ': Нет такого файла или каталога' – faiz

+0

, и я изучил эту ссылку, прежде чем публиковать здесь, но не получил душу, можете ли вы дать мне решение stepl для меня здесь? – faiz

+0

Я отредактировал свой ответ - добавьте пошаговые инструкции. Я не смог полностью проверить инструкции. Пожалуйста, сообщите мне, если это сработает. – Rotem