Matlab executable crash/error - missing dll??: IESHIMS.ddl and MCLMCRRT7_15.dll
조회 수: 5 (최근 30일)
이전 댓글 표시
I have an executable that allows the user to select a .csv file. It then takes the z matrix of data contained in this .csv and creates a matrix of 3 columns of x, y and z data respectively. The user than selects a directory and enters a file name and the executable creates a .xls file containing the x,y,z data.
I can run the program within matlab and it works great. I then create an executable and can run it on the same computer that I have matlab installed. However, when I deploy it to other computers, after selecting the file for the coordinate conversion mentioned above, the program will not proceed to run.
I used Dependency Walker to try to troubleshoot the .exe - it mentions some missing .dll files: IESHIMS.ddl and MCLMCRRT7_15.dll
Code is the following. Any feedback appreciated.
%%% %This program takes the z-matrix data %metrology and converts it into single columns of x, y, z data.
%Prompt user for x and y resolution inputs prompt = {'x pixel distance in [um] (50um defualt):', 'y encoder stepping [um] (50um default):'}; dlg_title='Input x & y Resolution'; num_lines=1; def={'50',' 50'}; answer=inputdlg(prompt,dlg_title,num_lines,def); resolution=char(answer); resolution=str2num(resolution); xres=resolution(1,1)/1000; yres=resolution(2,1)/1000;
%Prompt user for raw file h=msgbox('Please select raw Keyence z-matrix csv file for conversion.','Raw File Selection','help'); uiwait(h); filename=uigetfile('.csv'); %crashes somewhere after this step in .exe on other computers... z = csvread(filename);
%Create x and y coordinates [L,W]=size(z); Nrow=L; Ncolumn=W; [y,x]=meshgrid(1:L,1:W); y=y'*yres-yres; x=x'*xres-xres; %allocate memory xnew=zeros(Nrow*Ncolumn,1); ynew=zeros(Nrow*Ncolumn,1); znew=zeros(Nrow*Ncolumn,1); xyznew=zeros(Nrow*Ncolumn,3);
for i=1:Nrow znew(1+(i-1)*Ncolumn:i*Ncolumn)=z(i,1:Ncolumn); xnew(1+(i-1)*Ncolumn:i*Ncolumn)=x(i,1:Ncolumn); ynew(1+(i-1)*Ncolumn:i*Ncolumn)=y(i,1:Ncolumn); end xyznew = [xnew,ynew,znew];
g=msgbox('Please select directory and type in the new file name.','New File Creation','help'); uiwait(g); [name,path]=uiputfile; file=fullfile(path,name); file=strcat(file,'.xlsx'); xlswrite([file],xyznew);
댓글 수: 0
답변 (2개)
AJ von Alt
2014년 1월 22일
Has MATLAB Compiler Runtime 7.15 been installed on the deployment machines? The MCR version must match the compiler version used to generate the code. The MCR 7.15 installer is not distributed on the web. You should be able to find an installer for MCR 7.15 located on the machine you used to compile the code at:
$MATLABROOT\toolbox\compiler\deploy\win32\mcrInstaller.exe
Or
$MATLABROOT\toolbox\compiler\deploy\win64\mcrInstaller.exe
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 C Shared Library Integration에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!