Прошло много времени, но я столкнулся с той же проблемой и нахожу некоторую интересную информацию о ней.
Прежде всего, в новой версии MATLAB (2016a) путь поиска MATLAB Engine - C:\ Program Files \ MATLAB \ R2016a (или по тому же пути, по которому вы устанавливаете MATLAB).Так что, если вы не измените его, C ++ может использовать все встроенные функции. Кроме того, вы можете использовать функции из Панелей инструментов!
Но есть еще одна проблема: как насчет пользовательских функций?Поэтому мне нужно поместить файл .m непосредственно в C: \ Program Files \ MATLAB \ R2016a , чтобы сделать его видимым для MATLAB Engine.
Здесь мы можем пойти другим путем - просто добавьте путьвашего файла .m в MATLAB через C ++:
char CommandChangePath[MAX_PATH];
strcpy(CommandChangePath, "addpath('C:\\Users\\SuperUser\\Documents\\Visual Studio 2017\\Projects\\MyCppProject')");
engEvalString(ep, CommandChangePath);
Для меня очень полезно поместить необходимую функцию MATLAB в текущий проект C ++, добавить путь и использовать затем!Теперь вам не нужно менять путь на каждом шаге - он запоминается и всегда полезен для текущего приложения.