From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Can I Include DLL's INSIDE a compiled LLB file?

Solved!
Go to solution

Hello All,

 

I am going to ask a simple, and probably really stupid question.

Is it possible, when buildind a LLB file, to include DLL files inside the llb file?

I would like to eliminate the need for the support folder, if at all possible.

I don't have to, I would just like to.

 

Otherwise, is it acceptable to have multiple support folders in a project?

For example, I have a project with it's own support files, and I add my LLB to that project with support files for the LLB. So each will have a different support directory. Does it matter if these are both named the default "Data" or if I change the name to something else?

I am assuming yes.

 

Again, probably stupid question, but I am curious and the internet is full.

Thank you very much.

Veni Vidi Duci
0 Kudos
Message 1 of 7
(3,982 Views)
No. The only thing that can go in an LLB are LabVIEW files.

Why are you wanting to use LLBs?

Mike...

Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion

"... after all, He's not a tame lion..."

For help with grief and grieving.
Message 2 of 7
(3,908 Views)

@mikeporter wrote:
No. The only thing that can go in an LLB are LabVIEW files.

Why are you wanting to use LLBs?

Mike...

That answer is in general right but not specific enough. LLBs only can contain LabVIEW files that existed before LabVIEW 8.0. So no LabVIEW classes. libraries, etc.

 

If you need to store anything else than VIs and Ctls in a container file you can consider LabVIEW packed libraries or devise your own container format using ZIP files. The later of course won't work if you intend to store VIs in there that LabVIEW should be able to find at runtime.

 

LLBs are legacy technology with a lot of limitations, including to only support 1 1/2 levels of hierarchy depth. Their main purpose was to allow for filenames that exceeded the 8 + 3 character limitation of DOS/Windows 3.1.

Rolf Kalbermatter
My Blog
Message 3 of 7
(3,871 Views)

Thank you for the replies.

I am using a LLB simply because. No real reason.

 

My goal is to create a clump of commonly used VI's that I can easily distribute with my applications.

I have been fighting installers lately that left a sour taste in my mouth. I am trying to make things easier going forward.

 

So what I really want is a LabVIEW packed library. I can include DLL files inside of these and will not need a Data folder?

I will look into this.

 

 

Veni Vidi Duci
0 Kudos
Message 4 of 7
(3,803 Views)

I attempted to create a Packed Library.

I have a VI inside this packed library that refers to a DLL I wrote.

Both the VI and DLL appear inside my project.

When I build the project, the DLL's are not included INSIDE the .lvlibp file. They are, instead, inside the build folder alongside the library.

This is the same issue as with the .LLB.

Unless there is a way to include the files INSIDE the library, it doesn't matter which of two library types I use.

I do not see any option in the build specifications to include the DLL's as part of the .lvlibp file.

 

Sorry, I am not able to share the actually code.

Veni Vidi Duci
0 Kudos
Message 5 of 7
(3,782 Views)
Solution
Accepted by topic author DB_IQ

Hi DB,

 

I do not see any option in the build specifications to include the DLL's as part of the .lvlibp file.

There's a reason you cannot include them in any NI library format (LLB, lvlib(p)): The OS has to be able to load that DLL. It cannot load a DLL embedded inside of an archive-like file - for the OS a LLB/lvlib is the same as a ZIP file…

 

Conclusion: Put the DLL next (but not inside) to your LLBs/lvlibs!

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
Message 6 of 7
(3,768 Views)

Well that's what I figured.

I understand completely, there is no harm in asking of course.

Veni Vidi Duci
0 Kudos
Message 7 of 7
(3,747 Views)