LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to recompile a 32 bit library into 64 bit

Solved!
Go to solution

Hi,

 

I'm trying to recompile a library created in the 32 bit version and convert it into 64 bit version. I'm new to dll and lblib file. I'm wondering

 

1. How could I open the original dll file? I need to see what functions it includes then try to duplicate it. Should I use the 32 bit Labview to view its block diagram? Or should I compile it in Visual Studio or other compilers?

2. In which way I can change it into 64 bit? Not sure what's the difference I should change. I know x64 is 64 bit based and x86 is 32 bit based. But when it goes to a code in Labview, how could I configure it?

0 Kudos
Message 1 of 4
(14,020 Views)

Assuming that the dll was made in LabVIEW, you need to get the original source vis, open the project in 64 bit LabVIEW, and re-build the dll. If the code is pure g, the vis will automatically recompile as 64bit when opened.

0 Kudos
Message 2 of 4
(13,986 Views)

Thanks so much for your reply! 

 

I'm still confused. When I open the VIs, all I see is the call function node. How could I know how to rebuild them?

 

Sorry, I'm really new to these...

0 Kudos
Message 3 of 4
(13,948 Views)
Solution
Accepted by topic author feelsomoon

The Call Library Nodes are the method to interface to a DLL in LabVIEW. The DLL itself could be made in LabVIEW too but why should anyone go through these trouble when he rather can use the original VIs from which the DLL was created directly and avoid the trouble of going through the Call Library Node, which is an entirely different level of omplexity to develop than simply using VIs directly???

 

So your DLL is most likely not created in LabVIEW but for instance in C(++), Delphi, or about 100 other possible programming languages. And since a DLL is compiled for the target platform (here 32-bit Windows) you can only convert it to another platform by taking the original sources and compiling them in the according tool to this new platform. In the case of a DLL created with C you would need to have:

- all the original C sources and project files

- adapt the project files to generate a 64-bit DLL

- build your DLL in a compatible C compiler environment that supports 64-bit code creation

 

If that DLL however was created in LabVIEW (unlikely as mentioned above) you would need:

- the original LabVIEW VI and project files that were used to create the DLL

- LabVIEW 64-bit to load the project and recompile the DLL as 64-bit DLL

 

So you can not extract the code from a compiled DLL no matter how it was created but instead have to get the original sources that were used to create that DLL and then know how to proceed with the according tool (eg. C compiler).

Rolf Kalbermatter
My Blog
Message 4 of 4
(13,901 Views)