Инициализируйте библиотеку функций 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
std::vector<std::u16string> opts = {u"-nojvm"}; auto matlabPtr = initMATLABApplication(MATLABApplicationMode::IN_PROCESS, opts); auto libAstro = initMATLABLibrary(matlabPtr, convertUTF8StringToUTF16String("astro.ctf"));
matlab::cpplib::convertUTF16StringToUTF8String
| matlab::cpplib::convertUTF8StringToUTF16String
| matlab::cpplib::initMATLABApplication
| matlab::cpplib::initMATLABLibraryAsync
| matlab::cpplib::MATLABLibrary::feval
| matlab::cpplib::MATLABLibrary::fevalAsync
| matlab::cpplib::MATLABLibrary::waitForFiguresToClose
| matlab::cpplib::runMain