Как решить ошибку компиляции MEX-файла C ++ в Matlab R2018b с Windows 10, 64 бит? - PullRequest
0 голосов
/ 30 мая 2020

Я пытаюсь скомпилировать C ++ MEX-файл в Matlab R2018b, но после компиляции mex RegionGrowing_mex_modified.cpp в командном окне Matlab произошла ошибка. ошибка была:

enter image description here

Итак, я искал и нашел эту ссылку , которая после выполнения предложения mex -compatibleArrayDims RegionGrowing_mex_modified.cpp, MEX успешно завершился с этим сообщением:

mex -compatibleArrayDims RegionGrowing_mex_modified.cpp
Building with 'MinGW64 Compiler (C++)'.
MEX completed successfully.

Но, к сожалению, во время выполнения моего кода возникает ошибка:

enter image description here

Как решить?

1 Ответ

0 голосов
/ 08 июня 2020

В исходном коде вам нужно изменить это:

const int *pSize = mxGetDimensions(prhs[1]); 

на это:

const mwSize *pSize = mxGetDimensions(prhs[1]); 

В текущем состоянии вашего кода вы просите компилятор преобразовать указатель на 64-битное целое число в указатель на 32-битное целое число, и он жалуется на это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...