Restore Library Definition
While publishing a MATLAB® interface to a C++ library, you might iterate over the steps, close and reopen
the clibPublishInterfaceWorkflow
workflow script, or restart MATLAB. If you restart MATLAB before completing the steps to publish an interface, you might see this
error:
Unable to resolve the name 'libraryDefinitionFromTask.InterfaceName'.
To preserve your workflow script, use the 1a: Restore library
definition step in the script to create a
libraryDefinitionFromTask
variable. To create the variable, set these
variables in the code section:
Set the
outputFolderPath
variable to the value of the Output folder parameter in the Live Editor task.Set the
libraryNameForInterface
variable to the value of the Name of interface library parameter in the Live Editor task.
if evalin('base','exist(''libraryDefinitionFromTask'',''var'') == 0') outputFolderPath = ""; % Set outputFolderPath to the live task Output folder selection libraryNameForInterface = ""; % Set libraryNameForInterface to the live task Name of interface library if outputFolderPath ~= "" && libraryNameForInterface ~= "" addpath(outputFolderPath) libraryDefinitionFromTask = feval("define"+libraryNameForInterface); end clear outputFolderPath libraryNameForInterface end
Save your workflow script. If you exit and restart MATLAB, then you can continue using the workflow script to publish a MATLAB interface to your C++ library.
Note
The best practice is to create the libraryDefinitionFromTask
variable
after clicking Generate definition file in the Live Editor task step
1.
While developing an interface, consider using the 4b: Enable out-of-process execution mode step in the workflow script. For more information, see Load C++ Library In-Process or Out-of-Process.