I try to run old utility on matlab 7 and get an error "Unable to load mex file: readchan.dll. Invalid MEX-file readchan.dll'" .is there a solution ?

댓글 수: 2

Walter Roberson
Walter Roberson 2015년 11월 8일
Any relationship to "beamforming for Fieldtrip"? https://github.com/yuval-harpaz/ft_BIU
yaakov bar-on
yaakov bar-on 2015년 11월 8일
No. there isn't relationship to "beamforming for Fieldtrip", but to a gui which show results of simulation.

댓글을 달려면 로그인하십시오.

답변 (2개)

Image Analyst
Image Analyst 2015년 11월 7일

1 개 추천

Do you have a prototype file or .h file for it? Here's how I load a DLL I use from Measurement Computing Corporation:
% A deployed (compiled) application, must use a prototype file instead of a header file.
% A source code file can either do it this way or use a .h file.
% To create the prototype file you must use the loadlibrary mfilename option.
% Use the prototype file in compiled code.
% Create prototype file, mxproto.
% hfile = fullfile(matlabroot,'extern','include','matrix.h');
% loadlibrary('libmx',hfile,'mfilename','mxproto')
% MATLAB creates the file, mxproto.m, in the current folder.
% loadlibrary('cbw64', hFileName, @cbw_prototype_file)
fprintf('Loading MCC library with prototype file ...\n');
[notFound, warnings] = loadlibrary('cbw64', @cbw_prototype_file);
Then, later when I want to call a function in the DLL:
% Call the "cbDBitIn" function in the DLL to check the state of the pin.
% int EXTCCONV cbDBitIn (int BoardNum, int PortType, int BitNum, USHORT *BitValue);
% The board checks the pin voltage 30 times per second.
[errorCode, BitValue2] = calllib('cbw64', 'cbDBitIn', BoardNum, PortType, BitNum, BitValue);

댓글 수: 2

yaakov bar-on
yaakov bar-on 2015년 11월 8일
Thank you for your answer. I need to find the prototype file for this utility. I believe that the problem related to an older compilation of mex file which was done on old windows version of 32 bits. now i have windows 7 64 bits. probably i need to compile it again
Image Analyst
Image Analyst 2015년 11월 8일
64 bit MATLAB cannot run 32 bit DLL's. I have an old 32 bit DLL and whenever I need to use that program I need to switch to 32 bit MATLAB.

댓글을 달려면 로그인하십시오.

Walter Roberson
Walter Roberson 2015년 11월 8일

1 개 추천

32 bit dll cannot be used with 64 bit versions of MATLAB. You will need to get a version built for 64 bit MATLAB.

댓글 수: 1

yaakov bar-on
yaakov bar-on 2015년 11월 8일
편집: yaakov bar-on 2015년 11월 8일
Thank you for your answer. As you wrote, I believe that the problem related to an older compilation of mex file which was done on old windows version of 32 bits. now i have windows 7 64 bits. probably i need to compile it again

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 MATLAB Compiler에 대해 자세히 알아보기

질문:

2015년 11월 7일

댓글:

2015년 11월 8일

Community Treasure Hunt

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

Start Hunting!

Translated by