LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with build forders

Hi,

 

I am quite new to Labview so I hope it is not a too stupid question...

 

I got an LLB file on internet. As I read NI recommends to not use this format in project, I unpack it and add all files in my project in a specific virtual folder. All is OK but when I build my program (it is an existing program that I have to customize so build specfiications have already been done), all these new files come to new folders "support", "support0"... "support34". Each folder contains one of these files and I don't understand why because build specifications seems to be the same as other files...  (All is by default, "Same as caler"...)

 

Do you have an idea of what I can check?

 

Thanks in advance.

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

Do you have other classes or libraries in the project which have the exact same VI names? Before LV 2009, all the VIs in the EXE were saved as a flat directory in the EXE and because you can't have two files with the same name, NI implemented a workaround where the files are saved outside the EXE. I haven't run into the folders called Support# before, but I'm assuming that happens when the file is not part of a library (usually the folder name is that of the library). If that's the case, then it wouldn't matter if the files were inside the LLB or not.

 

One thing you can do to change this is going into the advanced page of the build settings and uncheck the 8.x flag. This will build all the files inside the EXE as a hierarchy, but this might create problems for you if you're building paths dynamically in your program and that process relies on the previous structure of the EXE. The easiest way is to probably do the build and check the places where you build paths.


___________________
Try to take over the world!
0 Kudos
Message 2 of 4
(2,453 Views)

Hi,

 

Second time you help me, thanks!

 

And I think you are right. I reuse a library (exactly, it is an LLB unpacked as a set of VI) for the second time in the project. Indeed, in project I have to update, all these VI were used as private part of an lvclass, but for another lvclass I have to use it also.

 

To avoid any problem with existing lvclass (it controls something in production I cannot test again easily), I let first instance in place and add all files as global VI in virtual folder for a second time and use them in my new lvclass.

 

So, if I well understand, I just have to explicitly set destination folder instead of keeping "Same as caller". I will try and let you know.

 

Thanks again.

 

 

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

@jiraiya wrote:

So, if I well understand, I just have to explicitly set destination folder instead of keeping "Same as caller".


Only if you want them to be in the same folder. You can also add them to a library and then they will automatically be inside the same folder.

 

If you want them to be inside the EXE you will need to rename the VIs or uncheck the 8.x check box.


___________________
Try to take over the world!
0 Kudos
Message 4 of 4
(2,437 Views)