This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

How to specify standard library (cgtools 5.2.10, 28x, CCS3.3)

I'm looking for the Right Way (TM) to specify the standard library to be used in my project.

I could specify rts2800_fpu32.lib in Linker->Libraries->Incl. Libraries (-l): This appears to make the linker link against the library that belongs to the used toolchain version (which is something that I'd prefer). The drawback of this approach appears to be that it is not possible to use the functions provided by the rts2800_fpu32_fast_supplement.lib library. The linker links against the standard library. This problem is documented in the fastRTS User's Guide.

If I understand the fastRTS User's Guide correctly I am supposed to specifiy both libraries by adding the files via 'Add files to project...'. This makes a particular version of the standard library part of my project.

What I actually want is this:

  1. I want to link against the version of rts2800_fpu32.lib that comes with the version of the toolchain that is used. 
  2. I want those functions that are provided by rts2800_fpu32_fast_supplement.lib to be used instead of the corresponding functions from rts2800_fpu32.lib.

How do I achieve this?

Regards, Johannes

 

  • Johannes L. said:

    What I actually want is this:

    1. I want to link against the version of rts2800_fpu32.lib that comes with the version of the toolchain that is used. 
    2. I want those functions that are provided by rts2800_fpu32_fast_supplement.lib to be used instead of the corresponding functions from rts2800_fpu32.lib.

    How do I achieve this?

    You can either follow the process documented in the Fast RTS Users Guide, (ie) add the 2 libs to the project and specify the link order in the CCS Build Options, Link Order tab.

    Or add the 2 libraries to the Include Libraries (-l) option in the linker in the order that you want them passed in the command line. In this case, you want rts2800_fpu32_fast_supplement.lib before rts2800_fpu32.lib. Sp specify it as: rts2800_fpu32_fast_supplement.lib;rts2800_fpu32.lib

    Use one method or the other, and also be sure to use the --priority linker switch as mentioned in the Users Guide. You can check the Debug.lkf file generated during the build to make sure the libraries are passed in the order that you expect.

  • Thank you. That's what I was looking for.