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: 

'Call Library Function Node' error

Solved!
Go to solution

Hi all,

 

I am stuck at an error from the function called 'Call Library Function Node'. I wired correctly and wired all inputs and outputs that need to be output, but there is still the error here.

 

VictoryNeal_0-1665181918052.png

 

VictoryNeal_1-1665182018206.png

 

I also set the right library path.

 

VictoryNeal_2-1665182296678.png

 

To be clearer, the folder is also attached here:

 

VictoryNeal_3-1665182384958.png

 

 

Any advice will be appreciated. Thanks in advance.

 

LabVIEW 2013 sp1 32-bit in Windows 10

 

 

 

 

0 Kudos
Message 1 of 6
(956 Views)

The culprit is this setting:

LLindenbauer_0-1665184985397.png

With "Specify path on diagram", the node expects the input to be wired (it's the top one with the path symbol). So you could either wire that one up or uncheck the box and use the "Library name or path" field like you already do. There are some more automagic tricks going on when LabVIEW tries to sort out which DLL to load and what to do with them afterwards - I'd like to refer you to the manual, which is possibly accessible here: https://www.ni.com/docs/en-US/bundle/labview/page/glang/call_library_function.html

Message 2 of 6
(942 Views)

Hi LLindenbauer,

 

Thanks for your reply. Check or uncheck the box doesn't make the program run. I also read the link and found it only introduces the basic fact about the function node.

 

 

0 Kudos
Message 3 of 6
(867 Views)

The error message changes to below, which still makes no sense because the library name is completely right.

 

VictoryNeal_0-1665330449470.png

 

I also found many solutions to this error from internet, but none of them works here.

 

0 Kudos
Message 4 of 6
(864 Views)
Solution
Accepted by topic author VictoryNeal

The DLL itself may be there but one of its dependencies is not. LabVIEW can’t (and shouldn’t even try to) check the dependencies of a DLL. All it does is to ask Windows to load that DLL. Windows analyzes it and tries to load any dependencies that DLL has (and any dependency those dependencies may have and so on) and if any of them fails, the DLL can’t be loaded and Windows simply tells LabVIEW: “Sorry pal but I can’t load the DLL you asked!”

So you have to find out what other dependencies your DLL has. One common culprit is the C runtime library for the compiler version that was used to create the DLL. But it can depend on any other DLL the developer found useful to use. This is something the developer should have understood and providing a real installer for the DLL that makes sure all the requirements are installed too for the actual OS version. Copying DLLs between computers is a pretty sure way to run into such problems (or worse) and you should use a real installer instead.

Rolf Kalbermatter
My Blog
Message 5 of 6
(844 Views)
Solution
Accepted by topic author VictoryNeal

Hi Rolf,

 

Thanks for your adivce. It is very helpful because there are a few dependencies missing. The program I am using is indeed directly copy from other computer, without a installer, because the author didn't write one. The problem is solved, so I share some information I used below:

 

I use

https://github.com/lucasg/Dependencies

to check the file 'StackWritterWrapper.dll' and found there were 3 DLL files missing. Then I found the missing 3 dependencies are in other folders, so I move them to the same folder as 'StackWritterWrapper.dll'. Problem solved!

0 Kudos
Message 6 of 6
(795 Views)