LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Call Library problem in Mobile Module

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.

0 Kudos
Message 1 of 7
(3,441 Views)

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

0 Kudos
Message 2 of 7
(3,427 Views)

 

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.

 

0 Kudos
Message 3 of 7
(3,417 Views)

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.

Rolf Kalbermatter
My Blog
0 Kudos
Message 4 of 7
(3,404 Views)
To magicofavalon1, I´ve tried building the application with the mobile device connected to the pc, writing the path to the dll in the mobile device this way "\\Windows\iodrv.dll", if i only write Windows labview starts seaching in my pc in C:\Windows which is not where i want it to look for, still not able to build.

To rolfk, that´s what I´m trying to do, i already have the ARM version of the library in the mobile device, but it doesn´t matter because im not even able to build the application yet.
0 Kudos
Message 5 of 7
(3,372 Views)

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

0 Kudos
Message 6 of 7
(3,248 Views)

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.

0 Kudos
Message 7 of 7
(2,671 Views)