Call a dll for Labview: Function not found in library

Hello,
I am trying to call a very simple .dll form Labview. I compiled the .dll for x64 using Visual Studio 2010, because I am using Labview(64-bit). I did everything exactly the way I read it in several Tutorials. But the "Call Library Function Node" doesn't create a popup menu with the avalible functions like it is supposed to do. The Import Wizard doesn't find any functions neither. What is wrong with my .dll?
I added a block marked 'extern "C" ' into my source file, but it still won't work.
Thanks
Matthias
Solved!
Go to Solution.
Attachments:
DynamicLibrary.zip ‏2452 KB

You need to define an entry point to the DLL
BOOL APIENTRY DllMain( HANDLE hModule,
                        DWORD  ul_reason_for_call,
                        LPVOID lpReserved )
    return TRUE;
Also add extern "C" __declspec(dllexport) to your functions
More details here: http://www.ni.com/white-paper/3056/en
Beginner? Try LabVIEW Basics
Sharing bits of code? Try Snippets or LAVA Code Capture Tool
Have you tried Quick Drop?, Visit QD Community.

Similar Messages

  • Call library function node: function not found in library

    I'm using Labview 6.1 and Windows XP.  I am trying to open some code, but it opens up with a broken arrow.  The error is Call Library Function Node:function not found in library.  Tried to configure the node, but no change.  Moved the DLLs to various directories (keeping them together) but again no change. 
    This code has been compiled and is working fine.  I'm just trying to run the source code to make some modifications.  Any suggestions? 
    Thanks
    CarlosV

    Thanks for the suggestions.  Tried it but had the same results.  The library I'm using is hpe1413_32.dll. 
    One thing I forgot to mention....doing a configure on the node, it comes up with the library: hpvscp32.dll and the function: hpe1413_error_message
    The function doesn't exist in the library.  So I set the path to hpe1413_32.dll which does contain the function. 
    After closing the configuration window and opening it up again, the library shown is hpvscp32.dll
    From what I can tell, there are three libraries involved:hpe1413_32.dll, hpe141332v.dll, and hpvscp32.dll
    Thanks again.
    Carlos

  • Call Library Function - Function not found in library

    Hello,
    I am working with a .dll in LabView 5.1. I finished a little program that should give me the number of CPCI-cards in a PXI-machine. But now i always get the error messages "Call Library Function - Function not found in library". I know it is threated several times bfore on this forum, but i didn't exactly find a sollution that solved my problem.
    The .dll is documented and i can see the function names by opening the .dll with Quick View. I have checked (a hundred times) the names i typed in and they are correct (=equal to manual of .dll and to Quick View, so we can skip that).
    What else could be wrong? What can i do?
    Regards,
    Klaas Engels
    student

    I'm not sure if it's a reason, but once I had the same error. In my case the reason was in that DLL function was actually named with additional suffix letter "A", and then digging through MS documentation I've found an explanation that MS uses desired function with one or another suffix depending on usage contents and data type. Adding that suffix was solved the problem.
    This was not obvios because in DLL description there was no mentions at all and function name was given generally, i.e. without any suffix at all, assuming every user should be MS guru.
    Sergey

  • Function not found in library when I compile .so file in linux

    I am trying to get a driver for a california instruments power supply
    working under Linux. The drivers called DLLs compiled under windows I
    think. When I use those, the DLL could not be opened, so I compiled the
    DLL source under Linux. When I use the nm -g on the .so file, I get a
    list of all of the external functions including the ones I am trying to
    call from Labview, but when I try to run I get "function not found in
    library when I compile .so file in linux" even though I can see the
    function using nm. Is there something special I need to do to this .so
    file so Labview can read it?
    Any help would be greatly appreciated.
    Steiner

    Hello Steve,
    I'm not sure if simply recompiling the source code of the dll will be enough to create a Linux driver. I'm assuming the DLL makes some windows specific calls that are not supported in linux. How were you able to compile it in linux BTW? Did you have to change the code around to make it work?
    Your best bet would be to probably try to find a linux version of the driver from the manufactrurer itself.
    Regards,
    Jack J.
    Applications Engineer
    National Instruments

  • Function not found in Library only after Close VI - Open VI

    Hi,
    We wrote subVI's for all exported functions of a dll written in Borland C++. Then a test.vi was implemented which uses these dll function. Everything runs perfectly, as long as we don't Close the vi and reopen it from the LabView main menu. If we do this the broken run arrow butten is shown and the first error message listed is the Function not found in Library error.
    If we use Exit to leave LabView and then restart the test.vi, everything is ok.
    Please let me know if you know a solution. Thanks in advance.

    The Function not found error is thrown when the OS can't provide the pointer to the function in the library to LabVIEW for some reason. For more information and common solutions see:
    http://digital.ni.com/public.nsf/websearch/44E40ACF1644DB77862562990054D672?OpenDocument
    The only reason I can think of why the first time it works correctly is that the DLL is not correctly clean-up by the close functions. Thus causing a second request for the pointer to fail due to this. (closing LabVIEW will remove the DLL form memory and thus probably clearing the error).
    Hope this Helps
    Kind regards,
    Karsten
    Applications Engineer
    National Instruments

  • Function not found in library? 1127 switch module

    I am trying to control individual relays in an 1127 switch module with a 1331 attached.  Whenever I try to connect to it through the block diagram (or through example programs) I get an error stating "Function not found in library" or sub vi not executable. However when I try to control it from the switch executive front panel it seems to work correctly. When I follow the sub vi error chain I eventually arrive at the library node and I am told to configure it. However when I click configure I get options that are phrased slightly differently than the original sub vi name. How do I get the example code / control over the 1127 installed in an scxi chassis.

    Raaron,
    The SCXI 1127 is a Matrix / Multiplexer card. If we wanted to try to make it function similar to an SPDT, you will limit the number of "SPDTs" you can create. With the 1331 that can only be configured as a multiplexer and essentially used for a single "SPDT" [com(SPDT) = com (Mux), NC(SPDT) = Ch0 (Mux), NO(SPDT) = Ch1 (Mux)] . If you use the 1332 you have a 4x8 Matrix and can make it into 4 "SPDTs" [com(SPDT) = r0(Matrix), NC(SPDT) = c0(Matrix), NO(SPDT) = c1 (matrix)]. Both of these configurations will not really be normally closed, and you would have to configure it in software to close when you are using it.
    If you are looking for a true SPDT I would look at the 1160, 1161 and 1166.
    I am glad that it is working now, but I am still confused as to how you were having SW issues though. Maybe the device was being set up as a Traditional DAQ device and was installed on an OS that does not support Traditional DAQ? Resetting the device [for DAQmx use] may have fixed this? I am unsure without further information.
    Frank,
    National Instruments
    Staff Software Project Engineer

  • Call library function node - function not found

    When creating a DLL I get a the Labview error "Call Library Function Node "LabviewReceiverDLL.dll:readDataJ1939Data' Function not found. Everything looks correct to me and this used to work, though I've changed computers since then.
    This is the beginning of my C++ code just to show my function name. I've also attached the Call Library Function Window to show my setup.
    Thank you in advance for your help.
    #include"StdAfx.h"
    #include<iostream>
    /* Call Library source file */
    extern"C"__declspec(dllexport)unsignedint readDataJ1939Data(unsignedint, unsignedint, unsignedchar, unsignedchar* canData, unsignedchar* path);
    unsigned int readDataJ1939Data(unsignedint ulTimeStamp, unsignedint ulIdentifier, unsignedchar uiDataCount, unsigned char* canData, constchar* path)
    Solved!
    Go to Solution.
    Attachments:
    Call Library Function.png ‏192 KB

    You mention that you have changed computers and that it used to work before.
    Could it be that there is another (older) copy of the DLL on this computer, and LabVIEW is loading the wrong one?
    The simplest way to check is to close your VI and delete the one you are expecting it to use.  Then open the VI again; if LabVIEW doesn't ask you where the DLL is, it is loading it from somewhere else.
    Batya

  • Can anyone tell me how to fix this error I am receiving: LabView: File not found. VI "Mobile Display.vi" was stopped at unknown " " at a call to "Mobile Display.vi"?

    Can someone help me please? I am receiving this error everytime I attempt to execute my application:
    LabView: File not found. The file might have been moved or deleted, or the file path might be incorrectly formated for the operating system. For example, use \ as path separators on Windows, : on Mac OS, and / on Linux. Verify that the path is correct using the command prompt or file explorer.
    VI "Mobile Display.vi" was stopped at unknown " " at a call to "Mobile Display.vi"
    Attachments:
    labview error.jpg ‏176 KB

    We cannot help without additional information:
    Are you running your code
    ...in the development system?
    ...as a standalone application?
    ...deployed to an embedded target?
    If it is a built application, do you explicitly include dynamically called VIs in the build specification?
    Who wrote the program? Do you have access to the code?
    How is this VI called? Is there sufficient error handling?
    Do you manipulate paths as strings or as proper path datatypes with the strip path/build path primitives etc.?
    Is it running on the same OS used to develop it ...
    LabVIEW Champion . Do more with less code and in less time .

  • NI-DAQmx support for labview could not be found

    Hi, I am pretty new to LabView. I was using VC++ to programming for my USB-6215. Just curious how LabView works, so I try to follow the "Introduction to Taking an NI-DAQmx measurement in LabView" and configure my USB-6215 in LabView. However, when I try to gererate codes for the DAQmx task name control, an error message pop up as "Error:NI-DAQmx support for labview could not be found. Please reinstall NI-DAQmx".  I did reinstall NI-DAQmx, but it doesn't help. This error occurs anyway. Any idea how it happens and the solution is highly appreciated. Thank you.
    Jingyu 

    See attached
    Paul Falkenstein
    Coleman Technologies Inc.
    CLA, CPI, AIA-Vision
    Labview 4.0- 2013, RT, Vision, FPGA
    Attachments:
    MX picture.PNG ‏35 KB

  • HT204074 The "Manage Devices" function not found in iTune

    I cannot find the "Manage Devices" function in the iTune Account Information screen.  Any help?

    The Function not found error is thrown when the OS can't provide the pointer to the function in the library to LabVIEW for some reason. For more information and common solutions see:
    http://digital.ni.com/public.nsf/websearch/44E40ACF1644DB77862562990054D672?OpenDocument
    The only reason I can think of why the first time it works correctly is that the DLL is not correctly clean-up by the close functions. Thus causing a second request for the pointer to fail due to this. (closing LabVIEW will remove the DLL form memory and thus probably clearing the error).
    Hope this Helps
    Kind regards,
    Karsten
    Applications Engineer
    National Instruments

  • LabVIEW: Resource not found. when running executable

    Hi,
    I've made a fully functional vi with LabVIEW 2009 (developer suite) and need to be able to run it on another PC without it.  I have downloaded LV Run-Time 2009, but when I try to run the executable I built, I recieve an error which reads:
    LabVIEW: Reasorce not found.
    An error occurred loading VI 'NI_AALPro.lvliberivative x(t).vi'.
    Labview load error code 3:  Could not load front panal.
    I can run the executable on another PC with LabVIEW no problem.  I've read somewhere about the need to stop the front panal from beng removed on sub VIs with Application Builder, although I don't think I have it.  I apologise in case this is a dumb question and I appreciate any help.
    Cheers
    Luke
    Solved!
    Go to Solution.

    Removing or not removing the front panel probably has nothing to do with your problem. My guess is that you did not create an installer. If you had, it would have included lvanyls.dll in a data folder under the folder where your exe was installed.

  • Labview: resource not found ; Specifically a VI located in my LV 8.2 Project I am trying to download to my FP-2000 and run.

    Hi, 
    I am fairly new to the LV Project method of building executable files and embeded applications. 
    I have been using LV 7.2 for the last few years and finally switched over to 8.2 this last summer.
    My problem is that I have an embedded application that I need to troubleshoot, but every time I try and run it from my desktop, it hits me with one of these messages:
    Deploying MPPT-Testbed  (successfully deployed target settings)
    Deploying ErrorConvert.vi  (already deployed)
    Deploying FP Close(IO).vi
    Failed to download FP Close(IO).vi
    LabVIEW:  Resource not found.
    LabVIEW:  Resource not found.
    The FP Close(IO).vi is the latest issue, I have had other files that have failed to load as well.  I have attempted to make a common folder for all of my shared VIs, I have 6 FP-2000 controllers. 
    Any ideas? 
    I run LV 8.2 w/RT on my desktop, my FP-2000 is running LV 8.2, FP Drivers 5.2.0 and FP VI Manager 4.1.0
    -Bill

    Hi Bill,
    Since you produced code in a previous version of LabVIEW, and therefore previous FieldPoint driver version, you will need to revamp your code a little to be able to use it in LV 8.2 with FieldPoint 5.0. I'm assuming that the FP Close.vi is not available in the palette that is not available in LabVIEW 8.2. This is expected, as FieldPoint 5.0 utilizes different VIs than previous versions. Accordingly, you do not need to use the FP Open or FP Close VIs, as they are not available in this driver version. However, you only need to use a Browse I/O Point and either a FP Read, FP Write or FP Read/Write. Generally, a quick modification of your code will take care of this problem. Let us know if you need help with this; a screenshot of your code might be helpful. Thanks!
    Amanda Howard
    Americas Services and Support Recruiting Manager
    National Instruments

  • Labview: resource not found error code 24 when building executable using 8.20 and dsc module

    I am trying to build an executable and I keep getting and error and cannot seem to figure out what is wring.  The whole error is "LabVIEW: resource not found.  An error occured loading "interface 3.vi"  Labview load error code 24:  this vi cannot be loaded because it is broken and has no block diagram."
    I am using LV 8.20 and DSC 8.2.  I am trying to create an executable that has the web server running for using remote panels, i have netowrk published shared variables, connecting to a fieldpoint unit, and I am using the NI system tray icon vis to load the program to the system tray.
    I have my shared variable library added as a support file, as well as the lvdsc.ini, and the tray icon files.  I have sleected "Enable Enhacned DSC run time support" in the app builder, did not remove any type def,etc.
    I cannot get the .exe to run on my development machine or another machine, I get the same error.  I tried creating an installer that installed the 8.2 runtime, dsc,fieldpoint, variable engine and manager and MAX.
    I could not find anything in the help files on the dsc, maybe someone else has some hints.  thanks
    Kenny

    Hi Kenny,
    I hope you are doing well today! What is interface 3.vi? Is it possible for you to post your project over here? Also, I would recommend creating a simple DSC application; and would like you to build it. Do you still get errors?
    Adnan Zafar
    Certified LabVIEW Architect
    Coleman Technologies

  • Compilation Error for import classes not found in generated Proxy Class

    Hi,
    We are generating java classes for the COM dll using JCOM com2java compiler.
    We are getting a compilation error for import class not found when compiling the
    generated Proxy java source code. It can't find the com.bea.jcom.Dispatch class that
    the generated Proxy java source code extends. It also can't find com.bea.jcom.Variant
    or com.bea.jcom.Param. These are interfaces or data types or classes used by COM
    library.
    I added weblogic.jar to my class path and the only Dispatch class i found inside
    the weblogic.jar is com.linar.jintegra.Dispatch;
    We have com objects for which we want to develop an EJB client to interface with
    the COM object using JCOM with Native Mode disabled.
    Any help on the compilation error..I tried changing the extends for Dispatch to com.linar.jintegra.Dispatch
    but the other errors are still there.
    To begin with, I think the generated code should not refer to any of the COM data
    types.
    Any help please.
    Thank you in advance,
    Regards,
    Rahul Srivastava
    [email protected]

    Hi,
    I resolved the other errors by changing all references from com.bea.jcom.Variant
    etc to com.linar.jintegra.class name..all were present under the com.linar.jintegra
    package.
    Thank you all anyways,
    Regards,
    rahul
    "Rahul Srivastava" <[email protected]> wrote:
    >
    Hi,
    We are generating java classes for the COM dll using JCOM com2java compiler.
    We are getting a compilation error for import class not found when compiling
    the
    generated Proxy java source code. It can't find the com.bea.jcom.Dispatch
    class that
    the generated Proxy java source code extends. It also can't find com.bea.jcom.Variant
    or com.bea.jcom.Param. These are interfaces or data types or classes used
    by COM
    library.
    I added weblogic.jar to my class path and the only Dispatch class i found
    inside
    the weblogic.jar is com.linar.jintegra.Dispatch;
    We have com objects for which we want to develop an EJB client to interface
    with
    the COM object using JCOM with Native Mode disabled.
    Any help on the compilation error..I tried changing the extends for Dispatch
    to com.linar.jintegra.Dispatch
    but the other errors are still there.
    To begin with, I think the generated code should not refer to any of the
    COM data
    types.
    Any help please.
    Thank you in advance,
    Regards,
    Rahul Srivastava
    [email protected]

  • Could not copy the file "C:\Microsoft.WITDataStore.dll" because it was not found.

    Hi All,
    I need to use "Microsoft.TeamFoundation.WorkItemTracking.Common, Version=11.0.0.0" dll in my code.
    But when I try to build my application I get the below error.
    "Could not copy the file "C:\Microsoft.WITDataStore.dll" because it was not found."
    And when I try to include version 12 of the same dll , code gets build successfully. And when I try to consume the code(which uses the dll) I get
    'Could not load file or assembly 'Microsoft.TeamFoundation.WorkItemTracking.Client.DataStoreLoader,
    Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
    The system cannot find the file specified."
    how do I go ahead with this..??
    Thanks
    Uma.K

    Hi Uma,
    You might check whether the version 11 of the assembly is referenced or added into soruce control. When use the referenced files, please use the relative path for building. If the version 11 of the assembly is not added, please add it to source control and
    make sure it's referenced correctly.
    It would be better to let us know the TFS version that you're using. And you can also use version 12 if the assembly works fine. If you have any other concerns, elaborate your scenario with more details.
    Best regards,
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

Maybe you are looking for