Matlab Coder not working
4 views (last 30 days)
Show older comments
Hi to everyone,
I have this function:
function output = simplecontroller(input)
%UNTITLED2 Summary of this function goes here
% Detailed explanation goes here
%Input
% f0=0;
% flag=f0;
L=input(1);
V=input(2);
Ldot=input(3);
% Vdot=input(4);
flag=input(4);
L0=0.28;
% flag0=0;
S1=0;
S2=1;
Ldot_thres=0;
Vin=2000;
V_thres=Vin;
if(flag==0) % Corresponds to phase X to A
S1=0;
S2=1;
if(Ldot<Ldot_thres && L>=L0*1.5)
S1=1;
S2=0;
flag=1;
end
elseif(flag==1) % Corresponds to phase A to B
S1=1;
S2=0;
if(V>=V_thres)
S1=0;
S2=0;
flag=2;
end
elseif(flag==2)
S1=0;
S2=0;
if(Ldot>=0 )
S2=1;
S1=0;
flag=0;
end
elseif(flag==3)
S2=1;
S1=0;
if(L<=L0+0.05)
flag=0;
end
else
flag=0;
disp('ERROR !!!!!!!!!!!!!!!!!!!!!')
end % end of the principal if statement
output=[S1;S2;flag];
end
This is a really easy code but my Build Log gives me this error:
1 ### Compiling simplecontroller_initialize.c ...
2 gcc -c -ansi -pedantic -fwrapv -fPIC -O0 -DMODEL=simplecontroller -DHAVESTDIO -DUSE_RTMODEL -DUNIX -I/media/sf_Desktop/Simulink/Simulink\ backup -I/media/sf_Desktop/Simulink/Simulink\ backup/codegen/lib/simplecontroller -I/media/sf_Desktop/Simulink/Simulink -I/media/sf_Desktop/Simulink/Simulink\ backup/backup -I/usr/local/matlab/R2013a/extern/include -I/usr/local/matlab/R2013a/simulink/include -I/usr/local/matlab/R2013a/rtw/c/src -I/usr/local/matlab/R2013a/rtw/c/src/ext_mode/common -I/usr/local/matlab/R2013a/rtw/c/ert -o "simplecontroller_initialize.o" "simplecontroller_initialize.c"
3 /usr/lib/gcc/x86_64-linux-gnu/4.7/cc1: /usr/local/matlab/R2013a/sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/lib/x86_64-linux-gnu/libppl_c.so.4)
4 /usr/lib/gcc/x86_64-linux-gnu/4.7/cc1: /usr/local/matlab/R2013a/sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/lib/x86_64-linux-gnu/libppl.so.12)
5 gmake: *** [simplecontroller_initialize.o] Error 1
6
7 ### Failed to generate all binary outputs.
Someone has an idea of what could be the error?
I defined the input as a vector 1x4 because at every iteration I have a 1x4 vector which goes as input to the function.
Is that correct?
0 Comments
Accepted Answer
More Answers (2)
Walter Roberson
on 29 Jul 2013
You have gcc 4.7 installed. You need gcc 3.4.15 instead (or as well.)
0 Comments
Ryan Livingston
on 29 Jul 2013
The supported version of GCC for R2013a is 4.4.*:
The version of GLIBCXX is not necessarily the same as that of GCC:
The version of libstdc++.so is not recent enough on your system. I would suggest checking for newer versions of that package with the package manager on your distribution.
0 Comments
See Also
Categories
Find more on Manage Products in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!