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.

Compiler: Error in linking libraries using makefile

Tool/software: TI C/C++ Compiler

Hello all,

   We are facing linking errors while running makefile using cl2000 compiler.I am not using CCS tool or resursive make environment for building the source code.I am using a non-resursive standalone makefile for the entire project.The errors are as follows:

<Linking>

1. error #10008-D: cannot find file "=./FCA_4CH_ANC_APP/libraries/FPU_FAST_RTS/rts2800_fpu32_fast_supplement.lib"

    I am including the library using the following command:

--library =./FCA_4CH_ANC_APP/libraries/FPU_FAST_RTS/rts2800_fpu32_fast_supplement.lib 

2. If we include -l"rts2800_fpu32_fast_supplement.lib" in the list of object files we are facing the following error:

make: *** No rule to make target `-l"rts2800_fpu32_fast_supplement.lib"', needed by `FCA_4CH_ANC_CUSW_K8_APP.out'. Stop.

Kindly let me know if I am missing anything.I have used these commands in accordance to the attached document.

Best Regards,

Vijay

7142.SPRU514E.pdf

  • Vijay Krishnan said:

      I am including the library using the following command:

    --library =./FCA_4CH_ANC_APP/libraries/FPU_FAST_RTS/rts2800_fpu32_fast_supplement.lib 

    The usual way to refer to a library is with two options ...

    1. --include_path=/full/path/to/the/directory/here
    2. --library=name_of_library.lib

    The --include_path option adds that directory to the list of directories the linker searches to find libraries (and other files).  The --library option does not indicate the file is a library.  The linker can work that out on its own without any option.  The --library option tells the linker the file is not located in the current directory, but is in one of the directories indicated with the --include_path options (among other places).

    Vijay Krishnan said:

    If we include -l"rts2800_fpu32_fast_supplement.lib" in the list of object files we are facing the following error:

    make: *** No rule to make target `-l"rts2800_fpu32_fast_supplement.lib"', needed by `FCA_4CH_ANC_CUSW_K8_APP.out'. Stop.

    That is because of make, and not the linker.  I cannot be certain what is going on.  My guess is you added -l"rts2800_fpu32_fast_supplement.lib" to some make variable, and other parts of the makefile presume everything in that variable is an object file with a corresponding rule to build it.  

    Thanks and regards,

    -George

  • Hello George,

       Thank you for the reply.The problem got resolved.Thank you once again.

    Best Regards,

    Vijay