LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

LabVIEW 2012 EXE file broken due to Gmath.lvlib

Hi, and thanks in advance.

 

I've spent a long time trying to figure out why my application doesn't work, but haven't found a solution yet. I am using v. 12.0.1 (32 bit).

 

I am building an EXE application which uses data fitting functions from the NI_Gmath.lvlib library (namely, Eval Single-Variable array.vi, Non-Linear Curve Fit LM formula string.vi and subvi's thereof). While developing everything works fine. Building also shows no errors. But when running the application on the Run-Time Engine, I get a broken arrow and the error message: Missing subVI NI_Gmath.lvlib: Eval Single-Variable Array.vi in VI Build plot from fit params.vi. Missing subVI NI_Gmath.lvlib: Non-Linear Curve Fit LM formula string.vi in VI Fit data.vi.

 

Things I have tried so far after reading different discussions:

 - repairing the RTE installation

 - re-installing the RTE

 - including the library in the Always Included box (by first moving it out of Dependencies)

 - making a copy of the library (and placing it in the Always Included)

 - setting the destination of the dependencies to my exe.file

 

Any help will be greatly appreciated (I'm stuck too long already...)

Best,

Joseba

0 Kudos
Message 1 of 9
(4,064 Views)

Ah. And in case it is relevant, I am calling the broken VI programmatically from another VI (opening the VI reference and using the FP.Open method). It is not a Startup VI.

0 Kudos
Message 2 of 9
(4,061 Views)
Did you actually create an installer with the Data folder as part of it? If I recall correctly, you need the external dll.
0 Kudos
Message 3 of 9
(4,037 Views)

No, I didn't. I am creating an exe file, not an installer. Also, I don't know what you mean by data folder, or what dll you refer to. Btw, I just found out that it actually works if I include the broken VI in the startup. So I guess this points in the direction of how I'm calling the VIs.

 

 

0 Kudos
Message 4 of 9
(4,020 Views)
You should always create an installer to get all of the dependencies.
0 Kudos
Message 5 of 9
(4,008 Views)

@josebalonso wrote:

No, I didn't. I am creating an exe file, not an installer. Also, I don't know what you mean by data folder, or what dll you refer to. Btw, I just found out that it actually works if I include the broken VI in the startup. So I guess this points in the direction of how I'm calling the VIs.


When you build the exe, there will be a folder named "data" created, sitting right next to it in the build destination. If you move the exe somewhere else, you need to move the data folder too.

 

You startup comment makes no sense. Did you leave the exe in the original build location and just created a shortcut in the startup? This will work, because the data folder is still near the real exe.

0 Kudos
Message 6 of 9
(3,997 Views)

Ok, I see now the data folder and dll file. They are created only if one builds an installer. I've done so following your suggestions, but it unfortunately doesn't fix the problem.

 

Outof what I've tried, only placing the broken VI in the Startup box solves it. I don't understand it and I would rather find a more elegant solution than launching all subVI's when the application gets executed. Thanks for your help.

0 Kudos
Message 7 of 9
(3,981 Views)

You can put the missing VI into the included section of of the application builder.  You don't have to put it in the startup VI section.

 

The reason you need to include it

0 Kudos
Message 8 of 9
(3,974 Views)

Unfotunately part of your post hasn't made it. On the other hand, adding the VI as an Include didn't help (that's one of the things I listed before as already tried). Also not if I include the missing VI. Not even with the hole Gmath library.

0 Kudos
Message 9 of 9
(3,961 Views)