Инициализируйте библиотеку функций 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 | Указатель на объект |
const std::u16string & ctfPath | Путь (относительный или абсолютный), чтобы заархивировать. |
| Указатель на объект |
| Никакая библиотека с именем не найдена на разделяемом пути к библиотеке. |
matlab::cpplib::LibInitErr | Библиотека не может быть инициализирована. |
MATLABLibrary
Префикс флага -u
не поддержан в Визуальном C ++® 2013.
std::vector<std::u16string> opts = {u"-nojvm"}; auto matlabPtr = initMATLABApplication(MATLABApplicationMode::IN_PROCESS, opts); auto libAstro = initMATLABLibrary(matlabPtr, convertUTF8StringToUTF16String("astro.ctf"));
matlab::cpplib::MATLABLibrary::feval
| matlab::cpplib::MATLABLibrary::fevalAsync
| matlab::cpplib::MATLABLibrary::waitForFiguresToClose
| matlab::cpplib::convertUTF16StringToUTF8String
| matlab::cpplib::convertUTF8StringToUTF16String
| matlab::cpplib::initMATLABApplication
| matlab::cpplib::initMATLABLibraryAsync
| matlab::cpplib::runMain