Forums › BB Series Discussions › Matlab API loadlibrary error
- This topic has 3 replies, 2 voices, and was last updated 9 years, 10 months ago by
Andrew.
- AuthorPosts
oogieoogiefulParticipantHi,
I am trying to run the SHAPISlowPlot.m in Matlab and I get an error for the loadlibrary() call. Attached is the error message.Does anyone else have experience with this type of error?
After reading the MatlabInstructions.txt file I see that it assumes I am running 32-bit Matlab, I have 64-bit Matlab R2014a.
Also, when I type
>>mex -setup
It appears that my MEX is configured to use Microsoft Visual C++ 2012 instead of Visual C++ 6.0 or 2008.Could my environment be what is causing this error?
Thanks!
Attachments:
You must be logged in to view attached files.
AndrewModeratorHello oogieoogieful,
Someone else might be able to help you get things working, but our experience is that we have not had a customer be able to utilize our supplied 32-bit Matlab example on a 64-bit version of Matlab. We do not have a version of 64-bit Matlab in our shop and so have been unable to attempt to work through the incompatibilities. It does appear that one would have to go through quite a bit of effort to call a 32-bit DLL from 64-bit Matlab.
If you are interested, we have fully updated our SA device APIs. There are now 32 and 64 bit versions of the API that get installed when you download the latest version of our Spike spectrum analyzer software. http://www.signalhound.com/Spike. We recommend all new developers target these new APIs. They come with documentation as well to get you going. We do not currently provide Matlab interfaces to them, but if you are adept at C/Matlab programming you should be able to find enough information to call our 64-bit DLL from Matlab. The new APIs do have a different interface than the old ones, so there will be a learning curve which may not be acceptable if you are already familiar with the older APIs.
Let me know if you have any follow up questions.
Regards,
A.J.
oogieoogiefulParticipantI am a new developer.
I do have the latest version of Spike installed (3.04 API BB) I have access to a BB series spectrum analyzer, not an SA series.
Here is the documentation I am now working from:
http://www.signalhound.eu/download/BB60-API-Manual.pdf
I’m not sure exactly how this error arises but I believe it is when Matlab creates a thunk file:
A thunk file is a compatibility layer to a 64-bit library generated by MATLAB. The name of the thunk file is BASENAME_thunk_COMPUTER.c where BASENAME is either the name of the shared library or, if specified, the mfilename prototype name. COMPUTER is the string returned by the computer function
I may have access to a 32-bit Matlab soon. Apparently, the 32-bit Matlab does not require a thunk file.
AndrewModeratorHello oogieoogieful,
Just to clarify, I though because you were using the SHAPISlowPlot.m file you would be using the and SA44/SA124. I am now under the impression that you have retrofitted it to call the BB60 API instead of the SA API. If you have done that and you have the latest version of the BB60 API then you should be able to simply use the 64-bit BB60 API with your code. We distribute both 32 and 64 bit API builds for then BB60 API. You can find it in typically at C:/ProgramFiles/SignalHound/Spike/api/x64
Regards,
A.J.- AuthorPosts
You must be logged in to reply to this topic.