06-07-2010 03:45 PM
Helloeveryone, I’m posting a problem I have had trying to build an application withsome functions imported from a library, I have tried every way I have found onthe ni webpage but with no solution.
I’m beginningto think it’s impossible to call a library in the mobile module because I have triedusing the same Vis in the PC with the same stubbed dll and it builds and runsthe application flawlessly.
In the mobilemodule I always get at building time an error for each function I’ve got inthis way:
function1 is a missing vi or c file.
function2 isa missing vi or c file.
function3 isa missing vi or c file.
I havereinstalled mobile module too, seeing that some people have corrected othererror this way, but with no luck.
I hope someoneon earth can help me on this matter as I don’t think none has been able to usea dll in a mobile project
Thanks inadvance, looking forward to the solution, maybe I’m just not doing somethingcorrectly.
06-07-2010 06:34 PM
Hi,
Can you be more specific please!
Are you saying that the problem is that you are calling a library from a VI on a PC (which works fine) but when you call the same library from a mobile module VI, you get the build error?
If this is the case then you may well get an error if the library was not compiled for ARM processors.
Let me know what part of your problem works and what doesn't specifically work, what the library or stubbed dll was compiled for.
It may also be that you need to reference the location of the library and manually copy it to the LabVIEW mobile device before you build it.
Regards
Richard
06-07-2010 08:33 PM
magicofavalon1
Are you saying that the problem is that you are calling a library from a VI ona PC (which works fine) but when you call the same library from a mobile moduleVI, you get the build error?
Just as you are saying, I call the library (the stubbed library i madefor Win32) from a VI on the PC and it works fine
when i do it from a mobile module VI, it doesn’t even build (always using thestubbed library) because when using the ARM library i get an error thatthe library wasn’t made for Windows, which I already know because i made thelibrary for an ARM processor and already tested it with a C++ program made inVisual Studio.
That’s why I ended making a stub dll but with no luck so far.
magicofavalon1
It may also be that you need to reference the location of the libraryand manually copy it to the LabVIEW mobile device before you build it.
i already have the library in the mobile device, but I’m using in thecall library node the location to the stub dll in my PC. Is it really necessaryto build the application to have the mobile device connected to the PC becausei haven’t had it like the last 100 times i tried to build it? Anyways Thanksfor your help, I’ll try this tomorrow at first hour (at my job), and maybe youcan understand me better with the explanation i gave you right now.
06-08-2010 01:28 AM
You seem to miss something here. The stubbed library is there so LabVIEW can load and edit the VI on the host system without broken arrow. But once your VI is targetted (deployed) to the mobile device it needs to use the ARM (or whatever CPU your mobiule target uses) version of the library.
I'm not eactly sure how this works for mobile devices but on some other devices you have to manually copy the shared library to a specific location on the target and let LabVIEW deploy the VIs and all to the target.
06-08-2010 12:15 PM
06-29-2010 05:50 AM
Hi,
I am also having the same problem while building the mobile module app.
how to resolve this?
Can anyone help on this issue?
Regards,
Indumathi
02-25-2011 04:49 AM
Hi,
I have solved this problem.
Create a dll by selecting your target platform.(eg:Smart device)
Create a stub dll in windows project with same function prototype created in target.
Call the stub dll in your labview vi using call library node
In build specification,
Properties->Source file -> Additional file ->
provide the .lib file which is created along with your dll in the target platform,not ur stub .lib file.
After provide this ,if you build ur app it will work.