MATLAB Answers

How to create a pointer on a struct?

15 views (last 30 days)
Andreas Schwager
Andreas Schwager on 21 Feb 2017
Answered: Philip Borghesani on 21 Feb 2017
Hi,
reading the Documentation from libstruct, there is following example:
double addStructFields(c_struct) sm.p1 = 476; sm.p2 = -299; sm.p3 = 1000; sc = libstruct('c_struct',sm)
Executing these lines on my Matlab there is following error Message:
Error using feval Undefined function 'lib.c_struct' for input arguments of type 'struct'.
Error in libstruct (line 16) ptr=feval(['lib.' structtype],initialvalue);
Why ? How to fix?
Thanks

Answers (1)

Philip Borghesani
Philip Borghesani on 21 Feb 2017
MATLAB does not know what a c_struct is without loading the library. Load the library first using the code from the example:
if not(libisloaded('shrlibsample'))
addpath(fullfile(matlabroot,'extern','examples','shrlib'))
loadlibrary('shrlibsample')
end

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by