Я пытаюсь получить доступ к коду 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
.