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.

Cannot find .obj files during linking

I have created a project in CCS v3.3. I have given the path in the build options for the .obj files to be kept in the $(Proj_dir)\Debug folder.....

When i am building the project i can see the .obj files in the folder mentioned above. But when it comes to the linking stage it says it cannot find those .obj files... can any one help me in getting over this errors.

And i have a library file with an extension (.a55). In the build options, in linker\ libraries tab i have included the path of the lib file in search path and the name of the file in Incl. Libraries. But it still doesnt include the library file in the project. I dont understand why even after giving the right path and file name it doesnt include the file in the library.

Please help me debugging these errors.

 

Regards,

Dinesh Davuluru

Signalogic

 

Attaching the errors for your reference.

 

<Linking>
"D:\\Dinesh Davuluru\\ADT Software code\\T38 FAX RELAY\\FAX\\systems\\relay\\c5500\\filerelay\\FileRelay.cmd", line 27: error:
   cannot find file "buflog.obj"
"D:\\Dinesh Davuluru\\ADT Software code\\T38 FAX RELAY\\FAX\\systems\\relay\\c5500\\filerelay\\FileRelay.cmd", line 51: error:
   cannot find file "buflog.obj"
"D:\\Dinesh Davuluru\\ADT Software code\\T38 FAX RELAY\\FAX\\systems\\relay\\c5500\\filerelay\\FileRelay.cmd", line 73: error:
   cannot find file "faxmem.obj"

  • Can you attach your "FileRelay.cmd" file?

  • SECTIONS
    {
        ISR_vectors:       > VECS       
        .cinit:       > PSRAM0
        .text:       > PSRAM1
        isrs:           > PSRAM0
        .switch:       > PSRAM0
     
        .const:       > DSRAM0
        .stack:       > DSRAM0|DSRAM1
        .sysstack:     > DSRAM0|DSRAM1
        .sysmem:       > DSRAM0|DSRAM1
        .data:       > DSRAM0|DSRAM1
        .bss:           > DSRAM0|DSRAM1
       BufLog:
          {
          buflog.obj (.bss)
          }        > DSRAM1        
       btext:      > PSRAM0      

       vtext:      > PSRAM0|PSRAM1
          {
          common.obj (.text)
    /*      apsk.obj (.text)
          aeq.obj (.text)
          interp.obj (.text)*/
          filter.obj (.text)
          gendet.obj (.text)
          modemif.obj (.text)
          tcm.obj (.text)
          v29.obj (.text)
          t38.obj (.text)
          v27.obj (.text)
          v17.obj (.text)
          relay.obj (.text)
          sequence.obj (.text)
          fsk.obj (.text)
          bufmgr.obj (.text)
          rxtx.obj (.text)
          hdlc.obj (.text)
          buflog.obj (.text)
          v21.obj (.text)
          packdata.obj (.text)
          netif.obj (.text)
          t30.obj (.text)
          div.obj (.text)
          bitrev.obj (.text)
          }
       vcoefs:
          {
    /*      vcoefs.obj (.const)              
          tcm.obj (.const)                 
          v29.obj (.const)                 
          v27.obj (.const)                 
          v17.obj (.const)*/
          t30.obj (.const)                 
          modemif.obj (.const)             
          t38.obj (.const)                 
          } > DSRAM0|PSRAM0
          
       vdata:
          {
          faxmem.obj (.bss)
          }        > DSRAM0

        dumper:       > DSRAM1   
    }          

     

     

    except for buflog.obj, faxmem.obj every other .obj file is in the  (.a55) library file.

  • In your *.cmd file where buflog.obj and faxmem.obj is referenced, prepend the path (you can use a relative path from the *.cmd file)

    ex:

       BufLog:
          {
          .\Debug\buflog.obj (.bss)
          }        > DSRAM1  

  • Dear Ki-Soo,

     

    Thank you for your reply.... that worked.... it is able to find those obj's now...

    There are some more .obj files which are supposed to be in the library file... When adding (lib.a55) as a library CCS doesnt detect it as a library.

    So the linker is giving errors that says cannot find .obj files (which are supposed to be library).

    Vtext:

    {    bitrev.obj (.text)
           bufmgr.obj (.text)
          common.obj (.text)

    } > PSRAM0|PSRAM1

     

    errors:

    "D:\\dinesh_davuluru\\ADT_SOFTWARE\\T38_FAX_RELAY\\Source\\FaxRelay2.cmd", line 32: error:
       cannot find file "bitrev.obj"
    "D:\\dinesh_davuluru\\ADT_SOFTWARE\\T38_FAX_RELAY\\Source\\FaxRelay2.cmd", line 34: error:
       cannot find file "bufmgr.obj"
    "D:\\dinesh_davuluru\\ADT_SOFTWARE\\T38_FAX_RELAY\\Source\\FaxRelay2.cmd", line 35: error:
       cannot find file "common.obj"

  • Can you post your build message output? And attach your *pjt file?

    Thanks

    ki

  • Dear Ki-Soo,

    I am attaching the build log and .pjt file.

    0272.cc_build_Debug.log
    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    --------------------------- Filerelay.pjt - Debug ---------------------------
    [buflog.c] "C:\CCStudio_v3.3\C5500\cgtools\bin\cl55" -g -@"../optfiles/FileRelay.opt" -pdsw225 -fr"../Debug" -i"../include/" -d"_DEBUG" -d"DSK5510" -d"__TMS320C55X__" -@"../Debug.lkf" "buflog.c"
    [faxmem.c] "C:\CCStudio_v3.3\C5500\cgtools\bin\cl55" -g -@"../optfiles/FileRelay.opt" -pdsw225 -fr"../Debug" -i"../include/" -d"_DEBUG" -d"DSK5510" -d"__TMS320C55X__" -@"../Debug.lkf" "faxmem.c"
    [FileRelay.c] "C:\CCStudio_v3.3\C5500\cgtools\bin\cl55" -g -@"../optfiles/FileRelay.opt" -pdsw225 -fr"../Debug" -i"../include/" -d"_DEBUG" -d"DSK5510" -d"__TMS320C55X__" -@"../Debug.lkf" "FileRelay.c"
    [target.c] "C:\CCStudio_v3.3\C5500\cgtools\bin\cl55" -g -@"../optfiles/FileRelay.opt" -pdsw225 -fr"../Debug" -i"../include/" -d"_DEBUG" -d"DSK5510" -d"__TMS320C55X__" -@"../Debug.lkf" "target.c"
    [Linking...] "C:\CCStudio_v3.3\C5500\cgtools\bin\cl55" -@"Debug.lkf"
    <Linking>
    "D:\\dinesh_davuluru\\ADT_SOFTWARE\\T38_FAX_RELAY\\Source\\FaxRelay2.cmd", line 32: error:
    cannot find file "bitrev.obj"
    "D:\\dinesh_davuluru\\ADT_SOFTWARE\\T38_FAX_RELAY\\Source\\FaxRelay2.cmd", line 34: error:
    cannot find file "bufmgr.obj"
    "D:\\dinesh_davuluru\\ADT_SOFTWARE\\T38_FAX_RELAY\\Source\\FaxRelay2.cmd", line 35: error:
    cannot find file "common.obj"
    "D:\\dinesh_davuluru\\ADT_SOFTWARE\\T38_FAX_RELAY\\Source\\FaxRelay2.cmd", line 36: error:
    cannot find file "div.obj"
    "D:\\dinesh_davuluru\\ADT_SOFTWARE\\T38_FAX_RELAY\\Source\\FaxRelay2.cmd", line 37: error:
    cannot find file "fsk.obj"
    "D:\\dinesh_davuluru\\ADT_SOFTWARE\\T38_FAX_RELAY\\Source\\FaxRelay2.cmd", line 38: error:
    cannot find file "gendet.obj"
    "D:\\dinesh_davuluru\\ADT_SOFTWARE\\T38_FAX_RELAY\\Source\\FaxRelay2.cmd", line 39: error:
    cannot find file "hdlc.obj"
    "D:\\dinesh_davuluru\\ADT_SOFTWARE\\T38_FAX_RELAY\\Source\\FaxRelay2.cmd", line 40: error:
    cannot find file "modemif.obj"
    "D:\\dinesh_davuluru\\ADT_SOFTWARE\\T38_FAX_RELAY\\Source\\FaxRelay2.cmd", line 41: error:
    cannot find file "netif.obj"
    "D:\\dinesh_davuluru\\ADT_SOFTWARE\\T38_FAX_RELAY\\Source\\FaxRelay2.cmd", line 42: error:
    cannot find file "packdata.obj"
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Regards,

    Dinesh Davuluru

     

    the .pjt file

    ; Code Composer Project File, Version 2.0 (do not modify or remove this line)

    [Project Settings]
    ProjectDir="D:\dinesh_davuluru\SOFTWARE\T38_FAX_RELAY\"
    ProjectType=Executable
    CPUFamily=TMS320C55XX
    Tool="Compiler"
    Tool="CustomBuilder"
    Tool="DspBiosBuilder"
    Tool="Linker"
    Config="Debug"
    Config="Release"

    [Source Files]
    Source="Source\buflog.c"
    Source="Source\faxmem.c"
    Source="Source\FileRelay.c"
    Source="Source\target.c"
    Source="Source\dsk5510.cmd"
    Source="Source\FileRelay.cmd"

    ["Compiler" Settings: "Debug"]
    Options=-g -@"..\optfiles\FileRelay.opt" -pdsw225 -fr"..\Debug" -i"..\include\" -d"_DEBUG" -d"DSK5510" -d"__TMS320C55X__"

    ["Compiler" Settings: "Release"]
    Options=-pdsw225 -o2 -fr"$(Proj_dir)\Release"

    ["Linker" Settings: "Debug"]
    Options=-c -m".\Debug\Filerelay.map" -o".\Debug\Filerelay.out" -w -x -i".\library" -l"libmesi.a55"

    ["Linker" Settings: "Release"]
    Options=-c -m".\Release\Filerelay.map" -o".\Release\Filerelay.out" -w -x

    ["Source\dsk5510.cmd" Settings: "Debug"]
    LinkOrder=1

    ["Source\dsk5510.cmd" Settings: "Release"]
    LinkOrder=1

    ["Source\FileRelay.cmd" Settings: "Debug"]
    LinkOrder=1

    ["Source\FileRelay.cmd" Settings: "Release"]
    LinkOrder=1

     

     

  • Dinesh Davuluru said:
    So the linker is giving errors that says cannot find .obj files (which are supposed to be library).

    I think this is the case. CCS is looking for the *.obj file specified in the cmd file but they do not exist (since they are part of the library file). But the linker is looking for the obj files itself and not in the library. There is probably a way to specify in the cmd file that an obj is part of a library and you'll need to tweak the cmd file accordingly but I'm not sure how to do this. You may want to ask this question in the Compiler forum.

  • Dear Ki-Soo,

    Thank you for the help. We have tried this libmesi.a55 <filter.obj> (.text) and it worked.

    Thank you for your time and help.

     

    Regards,

    Dinesh Davuluru