Matlab Coder not working

4 次查看(过去 30 天)
chef13
chef13 2013-7-29
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?

采纳的回答

chef13
chef13 2013-7-30
Thanks for your replies!

更多回答(2 个)

Walter Roberson
Walter Roberson 2013-7-29
You have gcc 4.7 installed. You need gcc 3.4.15 instead (or as well.)

Ryan Livingston
Ryan Livingston 2013-7-29
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.

类别

Help CenterFile Exchange 中查找有关 Manage Products 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by