У меня есть небольшой фрагмент кода, который вызывает функцию matlab (сохраняется в собственном .m-файле). Пользователь может выбрать функцию matlab для вызова, и она может быть или не быть в папке по умолчанию MATLAB (~/Documents/MATLAB).Вызов функции Matlab из C++
В случае, если он не находится в пути поиска по умолчанию, я хотел бы добавить папку, содержащую функцию, в путь поиска MATLAB. Когда я пытаюсь сделать это с помощью терминала (я на MAC), с помощью следующей команды:
/Applications/MATLAB_R2011b.app/bin/matlab -r "addpath(genpath('/Folder/Address/Here'))"
MATLAB пусков, и я могу видеть, что новый адрес был успешно добавлен в пути поиска.
Однако, когда я пытаюсь запустить эту команду через программу C++ с помощью этого:
std::string matlabFunctionPath = "/Folder/Address/Here"
std::string addPathCommand = "/Applications/MATLAB_R2011b.app/bin/matlab -r \"addpath(genpath('"+ matlabFunctionPath + "')\"";
::popen(shellCommand.c_str(), "r"));
MATLAB делает запуск, но новый адрес не добавляется к пути поиска. Что я здесь делаю неправильно?
Я ценю помощь.