Import Shared Library Wizard Reports Undefined Symbols

Updated Nov 7, 2023

Reported In

Software

  • LabVIEW

Issue Details

I am trying to call a Shared Library (such as a DLL) in LabVIEW but it is not working. When I try to import it using the Import Shared Library wizard, it reports:

Undefined symbols can prevent the wizard from recognizing functions and parameters. To correct this problem, check the header file to determine if you must add predefined symbols. Click the Back button to return to the previous page of the wizard to add a preprocessor definitions

​Even though I defined all of the symbols. What is wrong?

 

Solution

  • This can mean that your header file is not formatted the way LabVIEW is expecting and needs to be reformatted.
  • This can happen if you are trying to call or import a function from a DLL or Shared Library that was compiled from object oriented (class-based) C++ code. The Call Library Function node was designed to call C-style Shared Libraries, and is not capable of instantiating C++ objects. You will need to write a C-style wrapper DLL before you will be able to access it.