LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

labview exe can not find typedef being used for a shared variable placed in a PPL

Dear All,

 

I have created a project using a set of shared variables. As I want to reuse these shared variables I have created a separate project with a lvlib containing the shared variables and have compiled this into a packed library, e.g. SV.lvlibp.  Some of the shared variables have been created using a  typedef control which I have stored also in the same lvlib and consequenty are contained in the same packed library.

 

When I build an executable of the project, everything works fine. When I move the executable away to a second machine, I get a failure as the executable mentions that the typedefs are missing and is trying to look for the SV.lvlibp on my development computer. Copying the same SV.lvlibp to any place on the second machine and pointing to it when the question is raised, does not resolve the problem.

 

Problem seems to be that the absolute path to the SV.lvlibp is somewhere stored in the executable. This is strange as in the same project I am using more packed libraries, and, when copied to the proper folder on the second machine, these do not give any problem.

 

I tried some settings in the build, but have not found the correct ones, any suggestions ?

 

I did find an older message on http://digital.ni.com/public.nsf/allkb/6B6F7110636068D6862579440004D05A (for LV 8), which mentions that I have to detach my shared variables from the typedef if used in an executable. This seems to defeat for me the whole purpose of using typedefs, secondly, it does not seem to be necessary as it all works as long as it can find the packed library on my development system.

 

Thanks in advance,

 

Martien

 

0 Kudos
Message 1 of 4
(2,959 Views)

Hello Martien,

 

I know this is an older post, but I just ran across it today . . .  I'm having a similar problem using shared variables that are a typedef data type, hosted on a cRIO and accessed by an HMI application on a PC.

 

We needed a quick fix for testing an HMI executable on a computer that does not have the development system on it.  I found that placing the controls in a folder named "instr.lib" under the folder containing the executable works fine (i.e. "C:\HmiApp\instr.lib\MyTypeDef.ctl").  I haven't tried it using a packed library, as we are not there yet in the project, but thought this might help.

 

Best,

 

Al

0 Kudos
Message 2 of 4
(2,726 Views)

In the project explorer for the executable in the LabVIEW Development System, under the Files tab, is the packed library within the same folder as the application?

0 Kudos
Message 3 of 4
(2,711 Views)

Thanks for the reactions

 

@Rsystems: I had my problem when I used packed libraries. It could be that the same problems occur when using the libaries, but I have not tested this.  

@edjones93: the packed libary is not in the same folder as the application.

 

Kindest regards

Martien

0 Kudos
Message 4 of 4
(2,701 Views)