Отсутствует функция шлюза -> Matlab 2018a -> Mex - PullRequest
0 голосов
/ 23 октября 2019

Я пытаюсь получить доступ к коду C ++ из Matlab R2018a, но получаю ошибку

Invalid MEX-file 'C:\\C++ForMatlab\test.mexw64': Gateway function is
missing.

Я сделал то же самое в Windows 7 с VS2013 и Matlab 2016, и все работало нормально.

Функция успешно компилируется и dll создается, как и ожидалось, но когда я пытаюсь ее запустить, я получаю сообщение об ошибке.

ОС -> Windows 10

Matlab -> Matlab R2018a

C ++ -> VS 2017

Пример кода, написанного на VS2017

FileName -> test.cpp

 #include "mex.h"

void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
    mexPrintf("Hello World!\n");
}

В Matlab I введите следующую команду

 mex test.cpp

И вывод, который я получаю,

Building with 'Microsoft Visual C++ 2017'.
MEX completed successfully.

Но после этого, когда я пытаюсь запустить, набрав

Trial>> test

, я получаю следующую ошибку

Invalid MEX-file 'C:\C++ForMatlab\test.mexw64': Gateway function is
missing

.

...