Using a shared library compiled in Linux (.so) on a windows platform

Hi,
Can I interface a shared library compiled in Linux (.so) in LabView on a windows platform?
Gabriel Y

No.
Now is the right time to use %^<%Y-%m-%dT%H:%M:%S%3uZ>T
If you don't hate time zones, you're not a real programmer.
"You are what you don't automate"
Inplaceness is synonymous with insidiousness

Similar Messages

  • How to create a c++ shared library (.so) for linux real time (for myRio) with Eclipse to use in LabView?

    I tried already these Tutorials and Advices but I didn't find a solution:
    - http://www.ni.com/tutorial/14625/en/
    - http://www.ni.com/tutorial/14690/en/
    - http://forums.ni.com/t5/LabVIEW/Shared-Library-on-myrio-Linux-Real-time-system/m-p/2842540/
    - http://forums.ni.com/t5/LabVIEW/How-to-create-shared-library-for-linux-real-time-target-in/m-p/28218...
    - and some more
    I want use c++ codes on linux real time. For testing reasons I want to have a function that adds 2 values and gives the result.
    I've done these steps:
    1. writing a c++ file in Eclipse (see screensot 2)
    2. building a shared library (.so) from my c++ project in Eclipse (with Cross GCC)
    3. putting this file on myRio (path: /usr/local/lib/)
    4. creating a VI that calls this library from Labview with a "Call Library Function Node" (see screenshot3)
    5. Setting the properties for the "Call Library Function Node" (see screenshots 4-7)
    After I run this VI i get this error message: LabVIEW:  (Hex 0x627) The function name for the ... node cannot be found in the library. To correct this error, right-click the Call Library Function Node and select Configure from the shortcut menu. Then choose the correct function name. (see screenshot1)
    I've tried a lot things to solve this problem but I couldn't find a solution. Would be very happy if anyone can help me. I guess that I have to edit my c++ code to export my function (symbol). But I have no idea how to make it. I also tried it with a dll file in the same folder but it didn't help.
    Perhaps someone can send an example which works on myRIO.
    Thanks!
    screenshot1
    screenshot2
    screenshot3
    screenshot4
    screenshot5
    screenshot6
    screenshot7

     can see it in the screenshot8 there is a function called "_Z8AddierenddPd" instead of "Addieren". I copied this name to Labview (see screenshot9) and it worked.
    I'm sure that there is a way to compile the shared folder with gcc without decorations (mangling). But I don't know how. If someone has a recommendation I would be very glad!
    Prepend each function declaration that you want to be available without name decoration with
    extern "C" <your function declaration>
    Or if you have multiple functions you want to export you can in the header file where you declare your functions simply use:
    #ifdef __cplusplus
    extern "C" {
    #endif
    <all your function declarations>
    #ifdef __cplusplus
    #endif
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Should I use a shared library?

    Hi,
    This is the setup. I am working in two different applications, one to be compiled for desktop use (AIR) and one to be compiled for the web. They are part of the same project and use the same visual components, but they are completely different apps. When a visual component is changed in one application then it should also change in the other one.
    Is this a good situation to use a shared library fla?
    I am new to the concept of shared libraries and I am considering the options.
    On one had I would not have to update 2 applications everytime I change something, on the other, I would always have to recompile the library folder when I do the smallest changes to a component.
    Could you give me your opinion in this?
    Regards,
    Ana G. Pino

    Thanks for answering.
    I have been trying to look for the  best set up and I am not a fan of RSLs either. Do you have a recommendation of another way that I could set this up? Could you tell me your reasons for not liking RSL? And if you have worked with them any advice on how to approach them?
    I know... too many questions, but I am really lost.
    Thanks in advance.
    Regards,
    Ana

  • I am having trouble using Home sharing on my NEW Apple TV from my windows itunes

    i having a tough time using home sharing on my New Apple TV and my windows computer iTunes i have the latest update of iTunes. And it is on both my computer and Apple tv

    Nlangston wrote:
    i having a tough time using home sharing on my New Apple TV and my windows computer iTunes
    How are you having "a tough time"?
    What happens?
    What doesn't happen?
    -> http://support.apple.com/kb/TS2972

  • How can I use a shared library made with the application builder?

    Hi,
    I am using LabVIEW 7.1 running on Slackware 10.1 (kernel 2.4.29) and I am trying to call a graph display from a C program that I use for debugging VME access from a VMIVME controler. So using the application builder I built the VI as a shared library (graph.vi -> graph.so) containing a function called "graph". In my main program the call to the dlopen fails with the error: "graph.so: undefined symbol: UninitLVClient". When I examin graph.so with nm I see that UninitLVClient and other LabVIEW functions are indeed undefined and using ldd shows that graph.so has dependencies only on libc.so.* and *linux*.so.* but not on LabVIEW related stuff. Those functions are defined in the liblv.so that's in the cintools directory but I have no idea if the user is supposed to use that.
    So I think I am missing an important concept here. Can somebody help or direct me to some documentation (I found lots of information about how to link external code to LabVIEW but nothing about how to link LabVIEW code to an external program)?

    Thanks Watermann,
    your message has been very useful so now I am linking to the proper library but I still have problems when trying to load dynamically the shared library produced with LabVIEW. It is strange that I could successfully load the lvrt library at loading time but it does not work when I am loading the library at execution time.
    I made a small LabVIEW program that prints a hello window and I am calling it from a C program. In the first program main.c I am linking to the lvrt library at loading time and it works but in the second one I am linking dynamically at execution time and it does not work. For my work I need to be able to load code done in LabVIEW at execution time. Any help is appreciated!
    Program main.c:
    // small program to call a LabVIEW shared library
    #include
    #include
    #include "hello.h" // got this from the LabVIEW builder, i.e. when I made the hello.so
    int main(void)
    printf("Hello from C!\nLets call LabVIEW now\n");
    hello();
    printf("Bye ... \n");
    return 0;
    The command to compile main.c, i.e. linking shared library lvrt when loading main program:
    gcc -Wall -I /usr/local/lv71/cintools/ -o main main.c hello.so -l lvrt
    The LD_LIBRARY_PATH has been defined and exported:
    $ LD_LIBRARY_PATH=$PWD
    $ export LD_LIBRARY_PATH
    IT WORKS!
    Program main2.c:
    // small program to call a LabVIEW shared library
    #include
    #include
    #include
    int main(void)
    void * h_lvrt;
    void * h_hello;
    void (* hello)(void);
    char * error;
    printf("Hello from C!\nLets call LabVIEW now\n");
    // open LabVIEW RunTime shared library
    // in my computer located at /usr/local/lib/liblvrt.so
    h_lvrt = dlopen("/usr/local/lib/liblvrt.so", RTLD_NOW);
    // check for error
    error = dlerror();
    if (error) {
    printf("error : could not open LabVIEW RunTime library\n");
    printf("%s\n", error);
    return 1;
    // open hello shared library
    // in my computer located at /home/darss/lv_call/hello.so
    h_hello = dlopen("hello.so", RTLD_NOW);
    // check for error
    error = dlerror();
    if (error) {
    // close LabVIEW RunTime shared library
    dlclose(h_lvrt);
    printf("error : could not open hello library\n");
    printf("%s\n", error);
    return 1;
    // get function hello from library hello.so
    hello = dlsym(h_hello, "hello");
    // check for error
    error = dlerror();
    if (error) {
    // close hello shared library
    dlclose(h_hello);
    // close LabVIEW RunTime shared library
    dlclose(h_lvrt);
    printf("error : could not get the hello function\n");
    printf("%s\n", error);
    return 1;
    // call hello function
    hello();
    // close hello shared library
    dlclose(h_hello);
    // close LabVIEW RunTime shared library
    dlclose(h_lvrt);
    printf("Bye ... \n");
    return 0;
    The command to compile main2.c, i.e. dynamically linking library lvrt at execution of main2 program:
    gcc -Wall -o main2 main2.c -l dl
    The LD_LIBRARY_PATH still defined and exported.
    IT DOES NOT WORK!
    Program output:
    Hello from C!
    Lets call LabVIEW now
    error : could not open hello library
    /home/darss/lv_call/hello.so: undefined symbol: WaitLVDLLReady

  • How to use J2EE shared library in a team environment? Any help?

    Hi all,
    I've created two portal web projects one as a shared library to share my portal resources (a saparate project
    containging all the portlets) rather than the portal project that containing the other portal resources (portal look &
    feel & ...).
    I've followed the steps to create a J2EE shared library (for portlets for example) by modifying META-INF/MANIFEST.MF file with the following variables added to it:
    Extension-Name: MyPortalWebProject (as a shared library)
    Specification-Version: 1.0
    Implementation-Version: 1.0
    and exporting the WAR file from the project that contains my portlets to be imported into the other portal project.
    I can see the portlets available from the portal project but I can't use them as I get the following
    error:
    No such portlet with URI (Portlet Name).
    Did I miss any steps to be able to use the portlets from the shared library into another portal project?
    If anyone has another scenario for how to separate all portlets in a separate project and share this with the main
    portal project, please advice.
    Many Thanks in advance.
    Mohamed

    Hello, did you attempted to use by Stream Portal?

  • How to find out who is using the shared library?

    Is there a way to find out who is listening to my music on my shared library and what they are listening to?

    After googling a lot I managed to run my application with libumem, generated a core file and succeeded to find some leak with mdb even if ::findleak reported nothing.
    Does anyone knows if the ::findleak (you need libumem and mdb) is supposed to find leak in the native part of the memory and a Java application using the JNI interface?
    Regards,
    Stéphan

  • HT1386 syncing using home shared library.

    I was trying to sync from my home shared library on a secondary laptop to an iPod and it would change the name of the file of some songs but not all.  Then I tried it from the primary PC where the songs are located and it did the same thing.  How do I stop it from doing this?  Thanks.

    Hello jmcole1,
    Welcome to the Apple Support Communities!
    I understand that some of your TV Shows are not showing on your iOS devices after updating to the latest iOS version. I also understand that you have performed some great troubleshooting steps already. In this situation, just to make sure all suggested troubleshooting steps for this situation have been completed, I would suggest working through the information in the attached article. 
    Troubleshooting Home Sharing - Apple Support
    Have a great day,
    Joe

  • How i can access the linux shell file from windows platform

    Hey Friends,
    Anyone can tell me that through RMI how i can access the linux shell file or files from windows platform.
    Thanks in advance...

    it happend by mistake......
    sorry allYou've vanished, I checked your posting history and you have posted numerous threads about this problem. I hope you are reading the document that I suggested and will return knowing how to post smart questions. Otherwise you have a long way to go before you qualify for that -ji at the end of your id.

  • Transfer files using FTP from one r/3 server to another on windows platform

    Hi ,
    I am trying to transfer a text file from one r/3 server to another
    this should be done using ftp.
    I am working on widows OS & i have tried all the RSFTP* pgm's none satisfy my req. please tell proper method to do so or if any pgm please tell properly.
    Regards,
    Prateek Kumar

    If you haven't figured the migration out already, you may want to check out this thread:
    http://discussions.info.apple.com/thread.jspa?threadID=2205892
    It looks like the path to take from everything I'm seeing, but if you've found a friendlier solution I'd be happy to give it a shot!

  • In LabVIEW for Linux, cannot link to a shared library file (.so).

    Hello all,
    I'm having trouble using the Call Library Function Node within LabVIEW for Linux (using Ubuntu).  I can configure my Node correctly, and it sees the available function within it with all the proper parameters, but when I close the Call Library Function dialog box it does a quick search and asks me to Find the Shared Library Named "mySharedLibraryName."  If I select it again, it merely repeats this over and over until I cancel.  Has anyone seen this before or know what is causing this?  The .so file was compiled using gcc++ - is there anything specific that should have been included (does it need a header file)?  Could some missing file be causing this?
    Thanks,
    Jason

    The elf shared library format is a supported feature of all Linux distributions since about Linux 1.0 or earlier. So it is not really an issue that Ubuntu wouldn't support shared libraries as used by the LabVIEW Call Library Node. Since the Call Library Node seems to be able to see the exported functions during selection of the function it also doesn't seem to be a problem with proper export of the symbols.
    This leaves over some dependencies of the shared library on some other shared libraries including C runtime libraries. Was the shared library compiled on the system you try to use it? If not you may have an incompatibility of the C runtime library version used on the system that was used to compile the shared library and your Ubuntu system you try to load it.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Segfault when using shared library

    Hi,
    I have a little problem. I'm using a shared library in my program. It works fine under windows, but when I run my program under linux or solaris I get a segfault.
    When using the same library from a C/C++ program under soloris or linux I have no problem.
    Does someone have an idea ??
    Thanks.
    Vincent

    This is Java related ?
    Windows may not be as strict about memory pointers....
    Try running something like "BoundsChecker" against a debug version of your code.
    Years ago I used to use that, to detect pointer problems.
    You may be trying to access the contents of NULL in C/C++, or trying to read from a memory location
    which is no longer valid... eg. freed memory, or you return a pointer to a local variable to a calling routine.
    That stack space would be destroyed when the function returns, so you'd be trying to access memory
    that is no longer "valid".
    regards,
    Owen

  • URGENT: RSL Stopped Working - Need to compile with Runtime Shared Library

    I need this target to compile using the “Use Runtime Shared Library” option such that Flex libraries will be not included IN the swf, however I cannot get it to work.  No matter what, mxmlc includes them.  Oddly it DID work briefly for short time, however suddenly stopped again and unfortunately going through subversion revision history yields no insight whatsoever to what evoked this breakage.
    <target name="compile" depends="replace_build_version">
                <exec executable="${FLEX_HOME}/bin/mxmlc.exe" dir="${basedir}">           
                      <arg value="${basedir}/src/Main.mxml"/>
                      <arg value="-output=${basedir}/bin-release/Main.swf"/>
                      <arg value="-static-rsls=false"/>
                      <arg value="-debug=false"/>
                      <arg value="-include-libraries=${basedir}/libs"/>
                      <arg value="-source-path=${basedir}/src"/>
                      <arg value="-creator=me"/>
                      <arg value="-source-path=${basedir}/locale/en_US"/>
                      <arg value="-source-path=${basedir}/locale/ru_RU"/>
                      <arg value="-locale=en_US" />
                      <arg value="-include-resource-bundles=en_US,ru_RU"/>
                      <arg value="-runtime-shared-library-path=${FLEX_HOME}/frameworks/libs/framework.swc,http://fpdownload.adobe.com/pub/swz/flex/4.1.0.16076/framework_4.1.0.16076.swz,http://fpdo wnload.adobe.com/pub/swz/crossdomain.xml"/>
                      <arg value="-runtime-shared-library-path=${FLEX_HOME}/frameworks/libs/textLayout.swc,http://fpdownload.adobe.com/pub/swz/tlf/1.1.0.604/textLayout_1.1.0.604.swz,http://fpdownlo ad.adobe.com/pub/swz/crossdomain.xml"/>
                      <arg value="-runtime-shared-library-path=${FLEX_HOME}/frameworks/libs/osmf.swc,http://fpdownload.adobe.com/pub/swz/flex/4.1.0.16076/osmf_flex.4.0.0.13495.swz,http://fpdo wnload.adobe.com/pub/swz/crossdomain.xml"/>
                      <arg value="-runtime-shared-library-path=${FLEX_HOME}/frameworks/libs/spark.swc,http://fpdownload.adobe.com/pub/swz/flex/4.1.0.16076/spark_4.1.0.16076.swz,http://fpdownlo ad.adobe.com/pub/swz/crossdomain.xml"/>
                      <arg value="-runtime-shared-library-path=${FLEX_HOME}/frameworks/libs/sparkskins.swc,http://fpdownload.adobe.com/pub/swz/flex/4.1.0.16076/sparkskins_4.1.0.16076.swz,http://fpd ownload.adobe.com/pub/swz/crossdomain.xml"/>
                      <arg value="-external-library-path=${FLEX_HOME}/frameworks/libs/flex.swc"/>
                      <arg value="-theme=${FLEX_HOME}/frameworks/projects/spark/MXFTEText.css"/>
                      <arg value="-theme=${FLEX_HOME}/frameworks/themes/Spark/spark.css"/>
                      <arg value="-verbose-stacktraces"/>
                </exec>
          </target>

    I really hate to do this, but I very much need someone from Adobe to chime in here.  It is causing some serious headaches.  Ant nor the straight Flash Builder 4 will build with RSLs properly enabled now and this is really a very urgent situation for me.  It has doubled file size and made the application absolutely unbearable for users.
    Thanks!

  • Linux shared library does not work in fedora core 4

    I have transferred an application that ran perfectly on fedora 3 to fedora 4.  It uses a shared library that I wrote in C.
    The vis no longer appear to recognise this file as a  shared
    library.  I have recompiied the library in fedora 4 but this makes
    no difference.
    Any ideas?

    Hi jbroughton,
    There are few things that I need to know in order to investigate why your file is no longer being recognised:
    What version of LabVIEW are you using?
    What is your kernal version of federa four?
    Is your application a built executable?
    What is your librarying doing currently when you try to call it? If any error popups what are the error codes and messages you are getting?
    Can you call your C library outside of LabVIEW?
    Thanks
    Emma R
    NIUK & Ireland

  • Coherence Extend shared library is quite large

    Hello all,
    I'm starting to play around with Coherence Extend (for C++), and I've noticed that the .so provided is 67 megabytes. Even when I strip it, it only goes down to 57 MB. I'm wondering if there is a way to trim this down. Is there a list of features that I can pick and choose from that would allow for a slimmer distro? Additionally, I'm wondering if there's a static library that can be used instead of the shared one, so I can compile it directly into my other binaries (instead of a dynamic link).
    The reason I'd like a smaller library is that we're going to be trying Coherence from a CGI, and a small memory footprint is essential when the whole process only lives for 200 milliseconds on a busy box.
    Anyway, any tips would be appreciated.
    Thanks,
    Anthony
    Edited by: 952088 on Aug 10, 2012 8:39 AM - specified language

    Hi Anthony,
    You may want to measure the time it takes to load the Coherence library versus the size of the .so. It's not likely that the entire shared library will need to be loaded into memory. Only the parts that are needed for whatever your program is doing. And on most OS's, when multiple processes are using the same shared library, just one copy of the shared library will be loaded into memory and then will be shared by all of the processes.
    Using a shared library or static library should have no impact loading time or memory used as your program is loading the same "stuff" either way.
    Hope this helps,
    Patrick

Maybe you are looking for

  • How to configure Oracle Enterprise manager.

    Hello, I recently installed Oracle EBS 12.1.1 on RedHat Enterprise Linux 6.2(64 bit). Then upgraded the database to 11.2.0.3 and application to 12.1.3. While upgrading the database i got the error message that enterprise manager configuration failed.

  • Missing Ringtones Folder in iTunes

    I have a 3 day old iPhone 4. I'm using the RMaker app to create ringtones. It requires the ringtone to be moved to the 'Ringtones' folder in the Library, but I don't have that folder. I also do not have a Ringtones folder in my iPhone (when it is syn

  • Allow users to set homepage in IE10/11 but keep GPO setting

    I have setup a 2012 server to apply IE10 and 11 settings using group policy. I added the ie10 homepage user preferences/ internet settings and it applies the homepage. A user is complaining that they set their own homepage and it gets overwritten thr

  • Change System Form Title

    Hi All, Is it possible to change the name/description of system forms? For eg. I want to change the name of "Sales Order" form to "Service Order" or probably something else..can this be done? If it is possible, can anyone please help me with a sample

  • Shame on Adobe

    I have been using photoshop Elements 11 but needed some advice. I contacted the 'chat' line only to be told that they no longer supported or gave advice for Photoshop Elements 11. Adobe, is this fair on your customers? I think this is very poor servi