Matlab executable crash/error - missing dll??: IESHIMS.ddl and MCLMCRRT7_15.dll

3 vues (au cours des 30 derniers jours)
Michael Schroeder
Michael Schroeder le 22 Jan 2014
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);

Réponses (2)

AJ von Alt
AJ von Alt le 22 Jan 2014
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

Michael Schroeder
Michael Schroeder le 22 Jan 2014
I packaged the MCR with the .exe when I created it using the deploytool. I installed the MCR on the PC I wanted to deploy the .exe on. The .exe will run but will crash/stop after selecting the input .csv file. I assume that since the MCR was packaged with the .exe using the deploytool that the versions are the same. As mentioned .exe works fine on the PC on which matlab/the .exe was created, it just crashes when deployed on any other PCs.

Catégories

En savoir plus sur Startup and Shutdown dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by