Мне нужно скомпилировать код simulink и ежедневно генерировать dll. Для этого я разрабатываю все, используя версию MATLAB для Linux. После этого я запускаю VirtualBox, компилирую блок simulink и генерирую dll. Из-за использования памяти, я хотел бы знать, есть ли другие решения, которые не требуют так много памяти.
Наконец я нашел ответ, кросс-компилятор решает проблему, в случае ошибки, я редактирую make-файл и перекомпилировал его.
try
rtwbuild(modelName);
catch
% If it is linux try to compile using cross compiler
% This required the cross compile to be installed
disp('Compilation faild');
if strcmp(computer, 'GLNXA64')
disp('Trying to compile for linux using cross-compiler')
cd([modelName '_ert_shrlib_rtw'])
C_FILE = 'wesys_control.mk';
fid = fopen(C_FILE,'r');
f=fread(fid,'*char')';
fclose(fid);
% Replacing the stop time
f = strrep(f,'CC = gcc','CC = i686-w64-mingw32-gcc');
f = strrep(f,'LD = gcc','LD = i686-w64-mingw32-gcc');
f = strrep(f,'CPP = g++','CPP = i686-w64-mingw32-g++');
f = strrep(f,'CPP_LD = g++','CPP_LD = i686-w64-mingw32-g++');
f = strrep(f,'AR = ar','AR = i686-w64-mingw32-ar');
fid = fopen(C_FILE,'w');
fprintf(fid,'%s',f);
fclose(fid);
!make -f wesys_control.mk all
cd ('..')
end
end