LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Compile LabVIEW code into DLL?

Solved!
Go to solution
Is it possible to create a DLL using only LabVIEW? Such that the DLL can be installed on a non-labview system and used by other languages such as C? -The application would be for low-level hardware driver development for use by other platforms than LabVIEW, and since I'm way more experienced at LabVIEW than C, I would prefer to develop the DLL using LabVIEW 8.6 professional. (Windows VISTA/XP)
---------------------------------------------------

Project Engineer
LabVIEW 2009
Run LabVIEW on WinXP and Vista system.
Used LabVIEW since May 2005

Certifications: CLD and CPI certified
Currently employed.
0 Kudos
Message 1 of 9
(3,906 Views)

Yes you can build a dll in LabVIEW. Look at the help under shared libraries_build specifications. This assumes you have the application builder toolkit.

 

Hope this helps.

Now Using LabVIEW 2019SP1 and TestStand 2019
Message 2 of 9
(3,902 Views)
If you have the Professional (or higher) Edition of LabVIEW it comes with the Application Builder. Otherwise you have to buy it as a separate product. Keep in mind that the machine where the DLL will be used requires that the LabVIEW Runtime Engine be installed. Also, if the LabVIEW code is using any hardware you will also need to install those drivers.
Message 3 of 9
(3,886 Views)

Ah. Well, then that makes it pointless for us in this situation. Most drivers that ship as DLL's that I know of do not require a run-time engine/environment other than those normally found on a system. Having to install the LV run-time engine will unfortunately equate to using a different solution.

 

What about LabWindow CVI? -Will its DLL's require a run-time engine as well?

 

 

To clarify, the DLL will contain code for interfacing to 3'rd party hardware, i.e. the DLL is the driver for non-NI hardware, as such no drivers for NI hardware should be needed.

---------------------------------------------------

Project Engineer
LabVIEW 2009
Run LabVIEW on WinXP and Vista system.
Used LabVIEW since May 2005

Certifications: CLD and CPI certified
Currently employed.
0 Kudos
Message 4 of 9
(3,859 Views)

Kjell-Edmund wrote:

 

What about LabWindow CVI? -Will its DLL's require a run-time engine as well?


Sorry, you may need to ask here. Smiley Wink

- Partha ( CLD until Oct 2024 🙂 )
Message 5 of 9
(3,857 Views)
Solution
Accepted by topic author Kjell-E
Also please read this.
- Partha ( CLD until Oct 2024 🙂 )
Message 6 of 9
(3,856 Views)
Thank you Partha! -I wish I could change my solution marking to your latest post. That link explained exactly what I needed.  Thank you again, have a few kudo's! 🙂
---------------------------------------------------

Project Engineer
LabVIEW 2009
Run LabVIEW on WinXP and Vista system.
Used LabVIEW since May 2005

Certifications: CLD and CPI certified
Currently employed.
0 Kudos
Message 7 of 9
(3,849 Views)

You can change the solution by using the Options menu at the top right of the message.

 

However, I don't see how using LabWindows is going to change the situation for you. You would still need to install the CVI Runtime. Any creation of a DLL in any language requires a runtime component. It just so happens that when you program in C the runtime stuff is (usually) already installed with the OS. 

Message 8 of 9
(3,842 Views)
Exactly my point, if it is already installed with the OS, there is no need to provide additional run-times. For our purposes (driver development), it would seem that the option in CVI to compile using a limited set of instructions especially inteded for drivers is the way to go as the only support file needed then is an extra DLL file as opposed to the installation of a whole run-time system. This is detailed in the link that Partha just posted.
---------------------------------------------------

Project Engineer
LabVIEW 2009
Run LabVIEW on WinXP and Vista system.
Used LabVIEW since May 2005

Certifications: CLD and CPI certified
Currently employed.
0 Kudos
Message 9 of 9
(3,836 Views)