Cross compiling when using vxworks library - VxWorks

This is a discussion on Cross compiling when using vxworks library - VxWorks ; I'm developing on a linux machine and cross compiling for vxworks. How do I compile on the linux machine and make use of a vxworks system library like 'symLib' so I can use functions like symFindByName()...

+ Reply to Thread
Results 1 to 4 of 4

Thread: Cross compiling when using vxworks library

  1. Cross compiling when using vxworks library

    I'm developing on a linux machine and cross compiling for vxworks.
    How do I compile on the linux machine and make use of a vxworks system
    library like 'symLib' so I can use functions like symFindByName()

  2. Re: Cross compiling when using vxworks library

    On Jun 27, 12:13 pm, Chris Donohue
    wrote:
    > I'm developing on a linux machine and cross compiling for vxworks.
    > How do I compile on the linux machine and make use of a vxworks system
    > library like 'symLib' so I can use functions like symFindByName()


    Are you using Workbench to do your building, or have you set up a
    custom build environment?

    Do you plan to link your project to vxworks at build time, or are you
    loading your project onto your target dynamically?

    The simplest way to achieve your goal is to build your project using
    the provided cross-compiler, up to but not including the link step.

    At the time that you load the resulting object file onto your target,
    vxWorks will bind your code to the system libraries; if there are any
    unresolved symbols at load time, vxworks will cancel the load
    operation and notify you of the offending symbols.

  3. Re: Cross compiling when using vxworks library

    On Jun 27, 12:13 pm, Chris Donohue
    wrote:
    > I'm developing on a linux machine and cross compiling for vxworks.
    > How do I compile on the linux machine and make use of a vxworks system
    > library like 'symLib' so I can use functions like symFindByName()


    Are you building your project using Workbench or do you have a custom
    build environment?

    Do you want to link your project into the vxworks image, or will you
    load your code onto the target after vxworks has booted?

    The simplest way to achieve your goal is to build your project with
    the Wind River provided cross-compiler, skipping the link step. The
    resulting object file is "as good as an executable" on the target
    system.

    At the time that the object file is loaded onto the target, VxWorks
    binds the symbols in your code to those available from the operating
    system. Any unresolved symbols will cause the load operation to be
    cancelled, and the offending symbols will be printed to the shell.

  4. Re: Cross compiling when using vxworks library

    On Jun 27, 12:13*pm, Chris Donohue
    wrote:
    > I'm developing on a linux machine and cross compiling for vxworks.
    > How do I compile on the linux machine and make use of a vxworks system
    > library like 'symLib' so I can use functions like symFindByName()


    Are you building your project in Workbench or do you have / need a
    custom build environment?

    Do you want to link your code into a VxWorks image, or are you able to
    load your project onto your target after it has booted?

    In most cases, you will build your project using the Wind River
    provided cross compiler, but omit the final link step. This produces
    an object file that does not contain any VxWorks code, but does
    contain references to VxWorks libraries.

    When your object file is loaded onto the target, VxWorks performs a
    dynamic link, associating the calls in your code to the libraries
    already on the target.

    See the comp.os.vxworks thread "Regarding symbol resolving in VxWorks"
    for a bit more information on this topic.

+ Reply to Thread