matlab::cpplib::initMATLABLibrary

Инициализируйте библиотеку функций MATLAB, упакованную в развертываемый архивный файл

Описание

std::unique_ptr<MATLABLibrary> initMATLABLibrary(std::shared_ptr<MATLABApplication> application, const std::u16string & ctfPath)

Инициализируйте библиотеку MATLAB® функций, упакованных в файл развертываемого архива (CTF), и возвращает в библиотеку уникальный указатель. В качестве параметров он принимает общий указатель на MATLABApplication образец и путь к CTF.

Путь к развертываемому архиву является относительным или абсолютным. Если путь является относительным, следующие пути предварительно формируются в порядке, указанном ниже, пока файл не будет найден или не будут исчерпаны все возможности.

  • значение переменного окружения CPPSHARED_BASE_CTF_PATH, если определено

  • рабочей папки

  • папка, в которой расположен исполняемый файл

  • на Mac: папка на три уровня выше папки, в которой расположен исполняемый файл (для примера, если исполняемый файл generic_interface/foo_generic.app/Contents/MacOS/foo, используемая папка generic_interface)

Если библиотека найдена, она инициализируется и возвращается указатель на нее. В противном случае выдается исключение.

Параметры

std::shared_ptr<MATLABApplication> application

Указатель на MATLABApplication объект, возвращенный из initMATLABApplication.

const std::u16string & ctfPath

Путь (относительный или абсолютный) к архиву.

Возвращаемое значение

std::unique_ptr<MATLABLibrary>

Указатель на MATLABLibrary объект, который используется для вызова функций из библиотеки, feval и т.д.

Исключения

matlab::cpplib::LibNotFound

В пути к общей библиотеке не найдена библиотека с заданным именем.

matlab::cpplib::LibInitErr

Не удается инициализировать библиотеку.

Примеры

Инициализация MATLABLibrary

std::vector<std::u16string> opts = {u"-nojvm"};
auto matlabPtr = initMATLABApplication(MATLABApplicationMode::IN_PROCESS, opts);
auto libAstro = initMATLABLibrary(matlabPtr, convertUTF8StringToUTF16String("astro.ctf"));
Введенный в R2018a