Standalone executiable won't work properly

1 次查看(过去 30 天)
Hi all,
I created a program with a GUI, the goal is to output signals to different devices (3) using a NationalInstruments Data acquisition card.
First thing you have to know is that everything works well when i'm using it INSIDE Matlab. but after compiling with mcc -mv main.m -a *, the standalone .exe don't have the same behaviour.
As an example, The first thing the program have to do is to verify if the device is connected (USB) using a try/catch structure. But even if the device is connected, the program throw me the error message in 'catch'.
In my opinion, there's probably an issue whit the compiler because everything is fine inside Matlab but I wonder what the problem could be...
I'm using Matlab R2012b and compiler version 4.18
Thanks in advance.
  4 个评论
Friedrich
Friedrich 2013-4-9
Could you remove that try catch so that we see the actual error message matlab provides?
Maxime Jardonnet
Maxime Jardonnet 2013-4-9
I got this running the .exe (still running well inside matlab) :
Error using find_ni_usb_6008 (line6)
The vendor 'ni' is not known. Use 'daq.getVendors()' for a list of vendors.
daq:general:unknownVendor

请先登录,再进行评论。

回答(2 个)

Image Analyst
Image Analyst 2013-4-8
My guess would be that the drivers for the device aren't installed in your target computer. Have you tried everything in the FAQ yet? http://matlab.wikia.com/wiki/FAQ#My_standalone_executable_won.27t_run_on_the_target_computer._What_can_I_try.3F
  10 个评论
Maxime Jardonnet
Maxime Jardonnet 2013-4-9
https://docs.google.com/file/d/0B3x7iP9t_eeLNnd4N2NiN2dMQTg/edit?usp=sharing
Friedrich
Friedrich 2013-4-9
编辑:Friedrich 2013-4-9
So you posted a crash log also. When does it crash exactly? The DWI file shows an interesting installation path of your 64bit MATLAB:
c:\program files (x86)\matlab\r2012b
Normally 64bit applications are installed into
c:\program files\
Not sure if this may cause any troubles. In addition only one NI DLL shows up which is found:
c:\program files\national instruments\shared\mdns responder\NIMDNSNSP.DLL
I can't spot any other NI file which is looked for.
Maybe compile the daqsupport function into a small exe and run it on that machine to figure out what is missing on the target machine.

请先登录,再进行评论。


Sam Walder
Sam Walder 2019-2-18
编辑:Sam Walder 2019-2-18
I had the same issue in my application - the DAQ would connect and work in the full Matlab environment, but not in the compiled application. I resolved the issue by making sure to update everything in NI MAX on both the development and deployment machines. I am not sure why this was an issue - but it fixed it for me.
It may be useful to note that there are some similar questions on this topic on the forum:

类别

Help CenterFile Exchange 中查找有关 Data Acquisition Toolbox Supported Hardware 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by