Compiling and linking C library in C++

I am using a C library (Solstice FTAM v9.0) in my C++ program. One of the library header files has a declrartion
short class;
in one of the structures.
The C++ compiler (Sun C++ 5.4 on Solaris 8) gives error. What we should do to compile and link this library in C++.

You can use pointer to this structure without including the header that contains its definition, if it is possible, of course.
Also, it should be possible to #define class to smth else just before including this header and then #undef'ing it. If this C library comes in binary form, it shouldn't cause any problems since memory layout won't be affected; if it comes in source code form, you can always compile it with -Dclass=smth_else on the command line and reference this foul structure field from your C++ code accordingly.

Similar Messages

  • Runtime error after successful compile and link with cl.exe

    Finally, got the configuration for cl.exe and link.exe right and got a successful compile and link to produce a dll. Then ran the main method of my Java class. The main method calls the constructor, and loading the class runs the static block which loads the native dll. I get one of those error files of the type hs_err_pid4064.log. The file is as follows:
    # An unexpected error has been detected by Java Runtime Environment:
    # Internal Error (0xe06d7363), pid=4064, tid=3576
    # Java VM: Java HotSpot(TM) Client VM (10.0-b22 mixed mode, sharing windows-x86)
    # Problematic frame:
    # C [kernel32.dll+0x12aeb]
    # If you would like to submit a bug report, please visit:
    # http://java.sun.com/webapps/bugreport/crash.jsp
    # The crash happened outside the Java Virtual Machine in native code.
    # See problematic frame for where to report the bug.
    --------------- T H R E A D ---------------
    Current thread (0x00395800): JavaThread "main" [_thread_in_native, id=3576, stack(0x003b0000,0x00400000)]
    siginfo: ExceptionCode=0xe06d7363, ExceptionInformation=0x19930520 0x003fdf14 0x02de7b04
    Registers:
    EAX=0x003fde4c, EBX=0x00000000, ECX=0x00000000, EDX=0x02f80600
    ESP=0x003fde48, EBP=0x003fde9c, ESI=0x003fdedc, EDI=0x003fdedc
    EIP=0x7c812aeb, EFLAGS=0x00000206
    Top of Stack: (sp=0x003fde48)
    0x003fde48: 02de1de0 e06d7363 00000001 00000000
    0x003fde58: 7c812aeb 00000003 19930520 003fdf14
    0x003fde68: 02de7b04 02e80087 003fdf14 003fdf28
    0x003fde78: 02e99500 00000039 003fde70 00000039
    0x003fde88: 003fdec8 02e81a50 02eabf00 003fdf14
    0x003fde98: 003fdf28 003fdedc 02dce583 e06d7363
    0x003fdea8: 00000001 00000003 003fded0 02a72388
    0x003fdeb8: 00000000 e06d7363 00000001 00000000
    Instructions: (pc=0x7c812aeb)
    0x7c812adb: 8d 7d c4 f3 a5 5f 8d 45 b0 50 ff 15 10 15 80 7c
    0x7c812aeb: 5e c9 c2 10 00 85 ff 0f 8e 36 93 ff ff 8b 55 fc
    Stack: [0x003b0000,0x00400000], sp=0x003fde48, free space=311k
    Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
    C [kernel32.dll+0x12aeb]
    C [summarizer37.dll+0x1e583]
    Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::Interpreter
    v ~BufferBlob::StubRoutines (1)
    --------------- P R O C E S S ---------------
    Java Threads: ( => current thread )
    0x02a66000 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=3108, stack(0x02d10000,0x02d60000)]
    0x02a58000 JavaThread "CompilerThread0" daemon [_thread_blocked, id=2488, stack(0x02cc0000,0x02d10000)]
    0x02a56c00 JavaThread "Attach Listener" daemon [_thread_blocked, id=2508, stack(0x02c70000,0x02cc0000)]
    0x02a56000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=3720, stack(0x02c20000,0x02c70000)]
    0x02a51800 JavaThread "Finalizer" daemon [_thread_blocked, id=2968, stack(0x02bd0000,0x02c20000)]
    0x02a4d400 JavaThread "Reference Handler" daemon [_thread_blocked, id=600, stack(0x02b80000,0x02bd0000)]
    =>0x00395800 JavaThread "main" [_thread_in_native, id=3576, stack(0x003b0000,0x00400000)]
    Other Threads:
    0x02a4c000 VMThread [stack: 0x02b30000,0x02b80000] [id=2528]
    0x02a67000 WatcherThread [stack: 0x02d60000,0x02db0000] [id=1604]
    VM state:not at safepoint (normal execution)
    VM Mutex/Monitor currently owned by a thread: None
    Heap
    def new generation total 960K, used 195K [0x22960000, 0x22a60000, 0x22e40000)
    eden space 896K, 21% used [0x22960000, 0x22990c38, 0x22a40000)
    from space 64K, 0% used [0x22a40000, 0x22a40000, 0x22a50000)
    to space 64K, 0% used [0x22a50000, 0x22a50000, 0x22a60000)
    tenured generation total 4096K, used 0K [0x22e40000, 0x23240000, 0x26960000)
    the space 4096K, 0% used [0x22e40000, 0x22e40000, 0x22e40200, 0x23240000)
    compacting perm gen total 12288K, used 22K [0x26960000, 0x27560000, 0x2a960000)
    the space 12288K, 0% used [0x26960000, 0x269658c8, 0x26965a00, 0x27560000)
    ro space 8192K, 66% used [0x2a960000, 0x2aeb0e10, 0x2aeb1000, 0x2b160000)
    rw space 12288K, 52% used [0x2b160000, 0x2b7b04c8, 0x2b7b0600, 0x2bd60000)
    Dynamic libraries:
    0x00400000 - 0x00423000      C:\Program Files\Java\jdk1.6.0_06\bin\javaw.exe
    0x7c900000 - 0x7c9af000      C:\WINDOWS\system32\ntdll.dll
    0x7c800000 - 0x7c8f6000      C:\WINDOWS\system32\kernel32.dll
    0x77dd0000 - 0x77e6b000      C:\WINDOWS\system32\ADVAPI32.dll
    0x77e70000 - 0x77f02000      C:\WINDOWS\system32\RPCRT4.dll
    0x77fe0000 - 0x77ff1000      C:\WINDOWS\system32\Secur32.dll
    0x7e410000 - 0x7e4a1000      C:\WINDOWS\system32\USER32.dll
    0x77f10000 - 0x77f59000      C:\WINDOWS\system32\GDI32.dll
    0x7c340000 - 0x7c396000      C:\Program Files\Java\jdk1.6.0_06\jre\bin\msvcr71.dll
    0x6d870000 - 0x6dac0000      C:\Program Files\Java\jdk1.6.0_06\jre\bin\client\jvm.dll
    0x76b40000 - 0x76b6d000      C:\WINDOWS\system32\WINMM.dll
    0x6d320000 - 0x6d328000      C:\Program Files\Java\jdk1.6.0_06\jre\bin\hpi.dll
    0x76bf0000 - 0x76bfb000      C:\WINDOWS\system32\PSAPI.DLL
    0x6d820000 - 0x6d82c000      C:\Program Files\Java\jdk1.6.0_06\jre\bin\verify.dll
    0x6d3c0000 - 0x6d3df000      C:\Program Files\Java\jdk1.6.0_06\jre\bin\java.dll
    0x6d860000 - 0x6d86f000      C:\Program Files\Java\jdk1.6.0_06\jre\bin\zip.dll
    0x10000000 - 0x10006000      D:\Servers\SummarizerServer\native\jsummarizer.dll
    0x02db0000 - 0x02df2000      D:\Servers\SummarizerServer\native\summarizer37.dll
    0x02e00000 - 0x02f6d000      D:\Servers\SummarizerServer\native\platform37.dll
    0x4a800000 - 0x4a893000      D:\Servers\SummarizerServer\native\icuuc30.dll
    0x4ad00000 - 0x4b52d000      D:\Servers\SummarizerServer\native\icudt30.dll
    0x5b860000 - 0x5b8b5000      C:\WINDOWS\system32\NETAPI32.dll
    0x77c10000 - 0x77c68000      C:\WINDOWS\system32\msvcrt.dll
    VM Arguments:
    jvm_args: -Djava.library.path=native
    java_command: com.sra.pipeline.servers.summarizer.JSummarizer
    Launcher Type: SUN_STANDARD
    Environment Variables:
    JAVA_HOME=C:\Program Files\Java\jdk1.6.0_06
    CLASSPATH=.;C:\Program Files\Java\jre1.6.0_06\lib\ext\QTJava.zip
    PATH=D:\Servers\SummarizerServer\native;C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT
    USERNAME=Jim Jones
    OS=Windows_NT
    PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 7, GenuineIntel
    --------------- S Y S T E M ---------------
    OS: Windows XP Build 2600 Service Pack 3
    CPU:total 1 (1 cores per cpu, 1 threads per core) family 15 model 2 stepping 7, cmov, cx8, fxsr, mmx, sse, sse2
    Memory: 4k page, physical 1048032k(245796k free), swap 2521804k(1060880k free)
    vm_info: Java HotSpot(TM) Client VM (10.0-b22) for windows-x86 JRE (1.6.0_06-b02), built on Mar 25 2008 01:22:05 by "java_re" with MS VC++ 7.1
    time: Mon Sep 01 15:22:10 2008
    elapsed time: 0 seconds
    The dll I'm wrapping is C++ VC++ compiled.
    Would like to know what I do to trouble-shoot this error and hope to fix it?
    Jim

    Using Java print statement was able to show that the my JNI dll was being loaded and that the problem was in the first call to one of my JNI functions. Then by using "DebugBreak()" in that function and gradually moving it down line by line through the function was able to isolate the line causing the problem. Unfortunately it is the line where I call a function from the dll I'm wrapping. See newer thread.

  • How to compile and link a C program that uses the FSEvents framework

    I've been trying to compile a program from the command line that uses the FSEvents framework. I can compile and link the code in Xcode and it runs correctly.
    At the moment I have the following command line:
    cc -Wall -g -o Watcher *.c -framework CoreFoundation -framework FSEvents
    I'm running Snow Leopard and noticed that FSEvents is not in the Frameworks directory under /System/Library as it was in Leopard.
    The link error is:
    ld: framework not found FSEvents
    collect2: ld returned 1 exit status

    I'm not sure what the point is if it builds in Xcode, but the build log should show you every command it uses throughout the process--copy and paste.

  • ProC app. compiling and link problem

    Created a Pro*C application called "sample1.pc". Compiled to a get object file ("sample1.o"). Created a library using this object file as follows:
    ar -v -q libshr.a sample1.o
    Wrote a main.c application making a call to one of the extern functions which accesses Oracle through Pro*C calls.
    When I compile and link to my library, I get the following error.
    Undefined first referenced
    symbol in file
    sqlcxt /export/home/mydir/temp/libshr.a(sample1.o
    sqlorat /export/home/mydir/temp/libshr.a(sample1.o
    ld: fatal: Symbol referencing errors. No output written to t
    Following is the cc command given to compile and link:
    cc -o t artest.c -I/export/home/mydir/temp /opt/uxbox/oracle/product/7.3.3.3/lib/libserver.a -lm -lthread -L/export/home/mydir/temp lshr
    Would like to know what needs to be done to successfully call my proC function from "main.c".
    Thanks in advance,
    -NM

    Try including libsql.a which compiling..
    Venkat

  • Is it possible work (compile and link wi

    thout errors) very well one program written and compiled on Linux with gcc command for C program into Labview ? I know Labview support C codes, but I don't know if support some program done on another operating system, like Linux with other compiler (gcc).Is it possible work (compile and link without errors) very well one program written and compiled on Linux with gcc command for C program into Labview ? I know Labview support C codes, but I don't know if support some program done on another operating system, like Linux with other compiler (gcc). Because in Linux we have different device drivers (/dev/*) to access peripherals, like serial port RS-232. However, can I copy source code from Linux to "Call library Functional Node"
    tool ? And work it very well like in Linux before ?

    thout errors) very well one program written and compiled on Linux with gcc command for C program into Labview ? I know Labview support C codes, but I don't know if support some program done on another operating system, like Linux with other compiler (gcc).Hopefully, the differences in the implementations of the language itself would be fairly well documented. Therefore I would suspect that the biggest problem you'll have in this port is when the code starts trying to connect to the outside world--like the serial ports you mentioned.
    Personally, if I had documented C code (or at least a reasonable description of what the code is supposed to do) I would say to heck with CINs and just port the application to LV. You probibly won't spend any more time doing a complete port and the result will be more extensible and maintainable that the C ever was (or could ever be). But that's just me and my aversion to doing things the hard way...
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • OCI: Compiling and Linking?

    At the end of Chapter 1 of the OCI documentation, under
    "Compiling and Linking", it says:
    The details of linking an OCI program vary from system to
    system. See your Oracle system-specific documentation and the
    installation guide for more information about compiling and
    linking an OCI application for your specific platform.
    ...except that none of the Linux-specific documentation online
    (including the installation guide) covers compiling and linking.
    I tried linking with libclntsh.so, but it gets an unresolved
    symbol (slpmprodstab). I found this symbol in several of the .a
    and .o files, but linking with them leads to other unresolved
    symbols. Can someone please tell me what to do and/or point me
    to the right documentation?
    null

    John,
    I'm using:
    export ORACLE_HOME=/oracle ### this is the must
    make -f demo_rdbms.mk cdemo1 ### etc
    Good luck.
    John Stracke (guest) wrote:
    : At the end of Chapter 1 of the OCI documentation, under
    : "Compiling and Linking", it says:
    : The details of linking an OCI program vary from system to
    : system. See your Oracle system-specific documentation and the
    : installation guide for more information about compiling and
    : linking an OCI application for your specific platform.
    : ...except that none of the Linux-specific documentation online
    : (including the installation guide) covers compiling and
    linking.
    : I tried linking with libclntsh.so, but it gets an unresolved
    : symbol (slpmprodstab). I found this symbol in several of the
    .a
    : and .o files, but linking with them leads to other unresolved
    : symbols. Can someone please tell me what to do and/or point me
    : to the right documentation?
    null

  • Using GCC on SunSolaris2.8 to compile and link sample OCI programs

    Hi,
    Does anyone have sample make file (or modified version of demo_rdbms.mk) or command to compile and link OCI demo programs using gcc?? I am trying to compile and link cdemo81.c from rdbms/demo directory.
    gcc related files are under /usr/local/bin and /usr/local/lib, /us/local/lib/gcc-lib/sparc-sun-solaris2.8/3.1
    Thanks

    Hi,
    I finally got cdemo81.c to compile and link on Solaris 8 using Oracle 8.1.7.3. I got some help from one other person who had posted similar question on this forum. Following is the makefile that I am currently using to compile my oci code. Please note that you need to have $(ORACLE_HOME) and LD_LIBRARTY_PATH set before you try to compile using gcc.
    ************** Makefile Starts here ***********************************
    CPP=g++
    CC=gcc
    LD=ld
    CCFLAGS= -g
    CPPFLAGS=-g3 -Wall
    INCDIR=-I$(ORACLE_HOME)/rdbms/demo -I$(ORACLE_HOME)/rdbms/public -I$(ORACLE_HOME)/plsql/public -I$(ORACLE_HOME)/network/public
    LIBNAME=liboralib
    SOEXT=.so
    DLLINK=-shared -ldl
    ###SOFLAGS=-shared -Wl,-expect_unresolved -Wl,-soname,$(LIBNAME)$(SOEXT) $(LIBPATH)
    SOFLAGS=-shared -Wl
    LDFLAGS=-shared -expect_unresolved * -soname
    LIBPATH=-L$(ORACLE_HOME)/lib/ -L$(ORACLE_HOME)/rdbms/lib/ -R$(ORACLE_HOME)/lib/ -R$(ORACLE_HOME)/rdbms/lib/
    ORALIBS= -lnbeq8 -lnhost8 -lnus8 -lnldap8 -lldapclnt8 -lnsslb8 -lnoname8 -lntcp8 \
    -lntcps8 -lnsslb8 -lntcp8 -lntns8 -ln8 -lnl8 -lnro8 -lnbeq8 -lnhost8 -lnus8 \
    -lnldap8 -lldapclnt8 -lnsslb8 -lnoname8 -lntcp8 -lntcps8 -lnsslb8 \
    -lntcp8 -lntns8 -ln8 -lnl8 -lclient8 -lvsn8 -lcommon8 -lgeneric8 \
    -lmm -lnls8 -lcore8 -lnls8 -lcore8 -lnls8 -lnbeq8 -lnhost8 -lnus8 -lnldap8 \
    -lldapclnt8 -lnsslb8 -lnoname8 -lntcp8 -lntcps8 -lnsslb8 -lntcp8 \
    -lntns8 -ln8 -lnl8 -lnro8 -lnbeq8 -lnhost8 -lnus8 -lnldap8 -lldapclnt8 \
    -lnsslb8 -lnoname8 -lntcp8 -lntcps8 -lnsslb8 -lntcp8 -lntns8 -ln8 \
    -lnl8 -lclient8 -lvsn8 -lcommon8 -lgeneric8 -ltrace8 -lnls8 -lcore8 \
    -lnls8 -lcore8 -lnls8 -lclient8 -lvsn8 -lcommon8 -lgeneric8 -lnls8 \
    -lcore8 -lnls8 -lcore8 -lnls8 -lnsl -lsocket -lgen -ldl -lsched \
    -lc -laio -lposix4 -lkstat -lm -lthread -lwtc8
    LIBS=$(ORACLE_HOME)/rdbms/lib/defopt.o $(ORACLE_HOME)/lib/sscoreed.o $(ORACLE_HOME)/lib/libclntsh.so $(ORACLE_HOME)/lib/nautab.o $(ORACLE_HOME)/lib/naeet.o $(ORACLE_HOME)/lib/naect.o $(ORACLE_HOME)/lib/naedhs.o $(ORALIBS)
    ##LIBS=$(ORACLE_HOME)/rdbms/lib/defopt.o $(ORACLE_HOME)/lib/sscoreed.o $(ORACLE_HOME)/lib/nautab.o $(ORACLE_HOME)/lib/naeet.o $(ORACLE_HOME)/lib/naect.o $(ORACLE_HOME)/lib/naedhs.o $(ORALIBS)
    ###LIBS=$(ORACLE_HOME)/rdbms/lib/ssdbaed.o $(ORACLE_HOME)/lib/nautab.o $(ORACLE_HOME)/lib/naeet.o $(ORACLE_HOME)/lib/naect.o $(ORACLE_HOME)/lib/naedhs.o $(ORALIBS)
    ORALIBSO=-lnetv2 -lnttcp -lnetwork -lncr -lclient8 -lvsn -lcommon8 -lgeneric8 \
    -lmm -lnlsrtl3 -lcore8 -lnlsrtl3 -lcore8 -lnlsrtl3 -lnetv2 -lnttcp \
    -lnetwork -lncr -lclient8 -lvsn -lcommon8 -lgeneric8 -lepc -lnlsrtl3 \
    -lcore8 -lnlsrtl3 -lcore8 -lnlsrtl3 -lclient8 -lvsn -lcommon8 -lgeneric8 \
    -lnlsrtl3 -lcore8 -lnlsrtl3 -lcore8 -lnlsrtl3 -lnsl -lm -ldl -lm \
    -ldl -lnetv2 -lnttcp -lnetwork -lncr -lnetv2 -lnttcp -lnetwork -lncr \
    -lnetv2 -lnttcp -lnetwork -lncr -lnetv2 -lnttcp -lnetwork -lncr \
    -lnetv2 -lnttcp -lnetwork -lncr -lsql
    ###-lnbeq8 -lnhost8 -lnus8 -lnldap8 -lldapclnt8 -lnsslb8 -lnoss8 -lnoname8 -lntcp8 \
    #ORALIBS=-lnetv2 -lnttcp -lnetwork -lncr -lclient8 -lvsn -lcommon8 -lgeneric8 \
    # -lmm -lcore8 -lnlsrtl3 -lepc -lnsl -lm -ldl
    CPPOBJECTS=orabase.o orastmt.o
    HEADER=orabase.h orastmt.h
    .SUFFIXES: .cc .c
    ###.c.o:
    ###     $(CC) $(CCFLAGS) $(INCDIR) -o $@ -c $<
    .cc.o:
         $(CPP) $(CPPFLAGS) $(INCDIR) -o $@ -c $<
    #lib: $(CPPOBJECTS) $(HEADERS)
    #     $(CPP) $(CPPFLAGS) $(SOFLAGS) $(LIBPATH) -o $(LIBNAME)$(SOEXT) $(CPPOBJECTS) $(LIBS)
    #clean:
    #     $(RM) *.o core *~
    #distclean: clean
    #     $(RM) $(LIBNAME)$(SOEXT) so_locations
    ###ocimanager:     ocimanager.o
    ###     $(CC) -o $@ $(LIBPATH) $(LIBS) $<
    ocimanager.so: ../obj/ocimanager.o
         $(CC) $(LIBPATH) -o ocimanager.so -G ../obj/ocimanager.o $(LIBS)
    ##     gcc -L$(ORACLE_HOME)/lib/ -L$(ORACLE_HOME)/rdbms/lib/ -o ocimanager.so -G ../obj/ocimanager.o $(LIBS)
    ../obj/ocimanager.o: ocimanager.c ocimanager.h
         $(CC) $(CCFLAGS) $(INCDIR) -o ../obj/ocimanager.o -c ocimanager.c
    **************** Makefile ends here*********************************************
    Hope this helps
    Brunda

  • Compiling and linking Pro*c

    Hi All.
    i want to know the complete process os compiling and linking Pro*c programs.
    Q:1. Do i need to install visual studio?
    Q:2. If yes, please tell me complete procedure for setting environment variables and usage.
    Q:3. If visual studio is not required, how can i compile and link Pro*c programs.
    i heard that we can compile and link using COMPLINK.BAT
    if yes, how to set the complink.bat into execution(ie any paths need to be modified in .bat file)
    need help urgent.
    thanx in advance

    Q:1. Do i need to install visual studio? -
    Yes you need this
    Q:2. If yes, please tell me complete procedure for setting environment variables and usage.:
    Refer V.Studio installation manual and PROC++ Programmers Guide.
    Q:3. If visual studio is not required, how can i compile and link Pro*c programs.
    Yes you need this

  • Runtime error after compiling and linking functions containing XDK calls

    We have a preexisting application in C distributed across multiple shared objects - on HPUX.
    $ORACLE_HOME/xdk/include was included in the include path and the programs were compiled. Linking also was successful.
    However at runtime we get errors of the form:
    /usr/lib/dld.sl: Unresolved symbol: XmlCreate__FP6xmlerrPUce (code) from ./lib_my_so_name.so
    Clearly it's not able to locate the shared libraries corresponding to the xdk since XmlCreate() is not getting resolved.
    Where would these libraries be, what are their names on HPUX, and are they installed by default? If not is the installation procedure documented anywhere.
    We'll need this information for both HPUX and AIX.

    * Don't post that much code. There should never be a reason to. You should be able to break your code down into small enough pieces that you can post a small example that demonstrates your problem.
    * When you do post code, use [code] and [/code] tags to make it readable. You can use the code button on the message entry page.
    * The stack trace will tell you which line the NPE occurred on, where it was called from, where that was called from, etc. You can use that to help you find your error. Look at the line it's complaining about. What references are on that line followed by a dot, and what arrays do you try to access the elements of. One of those must be null.
    * Now that you know what[b] is null, put in a bunch of print statements to track [b]how it got to be null.

  • Problem with pro*c compilation and linking

    Hi all,
    I have a problem running the pro*c program on an windows environment.
    I have oracle9i and visual studio .net. Ya kinda strange about the combo, but need to live with it.
    I create a .pc file and precompile it using oracle pro*c/c++ precompiler. so now I got the .c file.
    I used .net command line to compile this .c file
    It gave me the .obj file. Now I am getting a link error. I am not sure how I need to link the linkfile.
    Let me know if you have any suggestions.
    Thank you,
    -Raghu

    Make sure you are including the Pro*C library. The platform docs tell you explicitly what the library name is. I think for 9i it is called orasql9.lib.

  • How to compile and link the LabView program(G) with some function written in C?

    Before, some employee in our company developed some program which was written in LabView (G). Now we want to add some new function with has already been done in C++. Can we combine them together? how to do it?

    Hi;
    To use external code in LabVIEW, you can create a dynamic link library (.dll) that you can call from LabVIEW or a Code Interface Node (CIN). The instructions on how to make any of those are in National Instruments manual Using External Code in LabVIEW, which is included with LabVIEW, or you can download it from NI website.
    Also, in the knowledge base there is a "External Code for LabVIEW - CIN / DLL - Starting Point" page.
    If, on the contrary, you want to use LabVIEW code on your C application, you can build dll's in LabVIEW. Depending on your version of LabVIEW, you may need Application Builder to do so.
    Of course, you can also use other techniques like, for example, making that your LabVIEW application save the data in a file and then your C++ application read the file and continues from there, or vice versa. You can also use the "System Exec.vi" in LabVIEw to do that, assuming your C code is an executable.
    Regards;
    Enrique
    www.vartortech.com

  • Linking 64 library dependent on other libraries

    I am trying to create a 64 bit library (library A) that uses another 64 bit library (library B) that I have created.
    The 64 bit library (library A) I am trying to create fails with the message that the second library (library B) is in the wrong ELF class: ELFCLASS32.
    Development directory structure is:
    B - ELF 32-bit MSB dynamic library location (libB.so)
    |--- sparcv9 - ELF 64-bit MSB dynamic library location (libB.so)
    A
    |--- sparcv9
    when I compile and link libA I used the following commands for the 32 and 64 bit from directory A
    cc -xO2 -c A.c
    cc -xO2 -xarchv9 -c -o sparcv9/A.o A.c
    ld -G -B dynamic -o libA.so A.o -L../B -lB
    ld -G -B dynamic -64 -o sparcv9/libA.so sparcv9/A.o -L../B -lB
    The 32 bit library builds fine but the 64 bit library fails with libB being in the wrong ELFCLASS. If I move the 64 bit version of libB to /usr/lib/sparcv9 and run
    ld -G -B dynamic -64 -o sparcv9/libA.so sparcv9/A.o -lB
    It works and produces the 64 bit library. Am I missing something ??
    thanks,
    matt....

    I should have also included:
    Solaris 8.0
    Sun One Compiler Collection 7.0 C compiler

  • What is the workflow to compile and load an external class as a runtime library?

    I have a set of classes (with some large embeds) that I only want to load one by one at runtime as needed.
    I think that I need to compile each of these classes into a separate SWF and use one of the available loaders out there to load and link to them dynamically at runtime (am I on track so far?).
    I got a little mixed up in the details though, so I'd just like someone to give me the basic rundown on doing this, get the right termonology, and if you have any reference to the right tutorial on doing it, all the better!
    I'm using flex builder, and this is to be used in a flex application.
    Thanks!
    David

    Hi, thanks for the response!
    A couple of questions arise:
    1) If I use this approach am I correct in my understanding that all classes referenced by my library will be compiled into the final SWF? That will create a lot of duplicated classes since those classes are already being used and loaded in the main SWF. Is there a way to avoid this duplication problem?
    2) In trying to play with this approach I ran into a problem. When I create the SWF it fails to find a class Vector ("Type was not found or was not a compile-time constant: Vector"), I think I understand that this is because I am targeting flash player 9, but the code I am using require 10. I can't seem to find an option to change the target in a flex library project as I can in a regular actionscript or MXML project.
    Dave

  • Can anyone help me with a problem i am having with my music on my iPhone 4S. I have put alot of Compilation CDs in my library on iTunes. I download these tracks onto my phone, everything is ok so far. Now, this is what is niggling me and I don.t know how

    Can anyone help me with a problem i am having with my music on my iPhone 4S. I have put alot of Compilation CDs in my library on iTunes. I download these tracks onto my phone, everything is ok so far. Now, this is what is niggling me and I don.t know how to resolve it. This is my problem: 
    Have downloaded for example: Queen – Bohemium Rhapsody from a compilation album as well as a few complete Queen Album CDs into the iTunes library and then put them into playlists,
    When I go onto my phone and select Queen on the MUSIC app using Songs tab at the bottom of the screen it will display all Queen songs and their resective Alum pics, that is all those not in a complilation album, .
    If I know the song title I can select the songs tab and find the song that way,
    I’ve tried fiddling with the settings in the iTunes app by going to ‘get info’ tab and trying to sort the problem out that way but am not having much luck.What I want the phone to do is show, for example all Queens songs including those in compilation albums. Can this be done, would be grateful for any ideas on how it can be done, that is if ic can be done, any ideas
    Thanks for your help

    Try assigning Queen as the Album Artist on the compilations in iTunes on your computer.

  • HT201625 All my media is on a portable hard drive.  The drive letter has changed, and now my library cannot locate anything.  Is there a quick way to re-link the library to the new drive location?

    All my media is on a portable hard drive.  I installed Itunes on a new computer, and scanned the portable hard drive, thus creating a new library on the new computer.  The portable drive now has a different drive letter.  Now, the library cannot locate any of the songs because when it was created it (I assume) linked to the other drive letter.  Now, from what I understand, I can select a (song, album etc) and then browse to the new location.  But I have thousands of songs.
    I need a way to re-identify as the whole group.  And because this is a portable hard drive, this could happen on a daily basis, so I know there must be some other process I am missing.  I guess I could delete the library and rescan the drive and create a new library every time I reconnect the hard drive, but that seems inefficient and time consuming.  Oh, Windows 8.1 and Itunes 12.1.1.4, if that matters. 
    Am I missing some simple step to this?

    See turingtest2's user tip on Make a split library portable - the best approach is to have the complete library (database, artwork, etc. as well as media) on the external drive.  This layout is not only robust against changes in drive letters, but also means that the external drive can be used with any system running iTunes - just hold down SHIFT while starting iTunes and select the library on the external drive.
    A quick fix, of course, is to use Windows' Disk Management facilities to reset the external HDD's drive letter to match the locations stored in the iTunes database.

Maybe you are looking for

  • Adapter between Backend and PI (XI)

    Hello @ll, i have some problems to create a Communication Channel between my SAP Backend and SAP PI (XI). In my Issue, i want create with an Idoc-Adapter this connection, but i can't choose under the Adapter Type the button Sender, it's always Receiv

  • Submit data to an ABAP program from an offline form

    Hello Forms experts, the requirement goes like this: I have an internal table that will be passed to the form (via interface context) in the form the data will be changed by the user and the changes must be reflected in the internal table.- I have to

  • LR2 - MacOS: installation and/or running from USB stick

    I am user of LR2 I wonder if it is possible: 1) to copy the installation CD to an USB drive and start installation from there (MacBook Air) 2) to install LR2 onto USB drive and run from the memory stick (USB) 3) allowed to install 1x on iMac at home

  • False positive critical alert from OEM: number of missing media files is 7

    Hi all, We were a bit stunned here as we got a page from OEM that the number of missing media files is 7! We ran the query only to find that there are none missing. One of the SR. DBA's said he thought he remembered seeing this months ago and it clea

  • FM replacement for TRANSFER_NAMES_TO_FIELDS

    Hi, The FM TRANSFER_NAMES_TO_FIELDS is obsole in ECC 6.Can any one suggest the replacement for this FM. Thanks Ansari