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.

  • Resolved

error #10234-D: unresolved symbols remain

Intellectual 370 points

Replies: 15

Views: 32288

Hi All,

I have a code which compiles without any errors. However, when the CCS tries to build the ARM linker I get an error which I just can't seem to be able to figure:

'Building target: CC9000_B.out'
'Invoking: ARM Linker'
"C:/ti/ccsv5/tools/compiler/arm_5.0.4/bin/armcl" -mv7M4 --abi=eabi -me -g --diag_warning=225 --display_error_number --diag_wrap=off --stack_overflow_check -z --stack_size=2000 -m"CC9000_B.map" -i"C:/ti/ccsv5/tools/compiler/arm_5.0.4/lib" --reread_libs --warn_sections --display_error_number --diag_wrap=off --xml_link_info="CC9000_B_linkInfo.xml" --rom_model -o "CC9000_B.out"  "./main.obj" "./System.obj" "./File_IO.obj" "./Control_Functions.obj" "./Common.obj" -l"C:\ti\TivaWare_C_Series-1.0\driverlib\ccs\Debug\driverlib.lib" -l"libc.a"
<Linking>

 undefined     first referenced                                                                     
  symbol           in file                                                                          
 ---------     ----------------                                                                     
 handle_stkovf C:\ti\ccsv5\tools\compiler\arm_5.0.4\lib\rtsv7M4_T_le_v4SPD16_eabi.lib<stkchk_t2.obj>

error #10234-D: unresolved symbols remain
error #10010: errors encountered during linking; "CC9000_B.out" not built

>> Compilation failure
gmake: *** [CC9000_B.out] Error 1
gmake: Target `all' not remade because of errors.

**** Build Finished ****

Thanks in advance for the help.

  • Guru 130875 points

    Hi Elad,

    this error is typically generated when the include path/variable to a library is missing/in need of correction.

    Have a look at this wiki and double check ccs can find all necessary included libraries etc.

    http://processors.wiki.ti.com/index.php/Include_paths_and_options

    Please keep us informed.

    Best Regards,

    Lisa

  • In reply to Lisa TI:

    I can't seem to be able to find any mistake over there. Do you see anything there?

  • Guru 130875 points

    In reply to Elad Rind:

    Hi Elad,

    I am not able to view what I assume is a screen capture you wished to attach.  Could you please try again?  Also specifically make sure the file search path in the link properties has all necessary paths/options.

    Best Regards,
    Lisa 

  • In reply to Lisa TI:

  • Guru 130875 points

    In reply to Elad Rind:

    Hi Elad,

    you likely need to do one of two things

    1 - import the driver lib project to your workspace and add a dependancy between the two projects

    2 - you can also first simply try adding the stellarisware/path to the library in the bottom portion of your screen capture.  It is not enough to simply have it on the top portion for some reason.

    Please keep us informed.

    Best Regards,

    Lisa

  • In reply to Lisa TI:

    I have tried your second option with no luck. Regarding your first option, I am not sure how to do it. Could you please explain it.

  • Guru 130875 points

    In reply to Elad Rind:

    Hi Elad,

    you need to import the driver lib project.  Project->import exsisting ccs/eclipse project and browse to that in your Tivaware installation.  Import it.

    If not automatically picked up, you then need to add the dependancy.   There will be a tab if you go to Build for dependencies.

    Best REgards,

    Lisa

  • In reply to Lisa TI:

    I have imported the library as you said. I also created a dependency (see below). However, still not luck...

  • In reply to Elad Rind:

    I have recreated the project and finally managed to get it to compile using all your tips Lisa. Thanks a lot for that.

    However, I now have a problem to get one part of my code compile and I am guessing that it has to do with importing additional code. Basically, I have this library that I would like to link to. However, I am not 100% certain how it should be done. Because it just does work.

    What have done so far is:

    Included in my function the header file.

    I added the path of the header file to the include path.

    I added the path of the header file to the path.

    Any ideas what I should do?

    This is the error I get:

    **** Build of configuration Debug for project CC9000_B_1 ****

    "C:\\ti\\ccsv5\\utils\\bin\\gmake" -k all
    'Building target: CC9000_B_1.out'
    'Invoking: ARM Linker'
    "C:/ti/ccsv5/tools/compiler/arm_5.0.4/bin/armcl" -mv7M4 --abi=eabi -me -g --diag_warning=225 --display_error_number --diag_wrap=off -z --stack_size=800 -m"CC9000_B_1.map" -i"C:/ti/ccsv5/tools/compiler/arm_5.0.4/lib" -i"C:/Users/Elad Rind/Documents/ARM Coding/FatFs/src" -i"C:/ti/ccsv5/tools/compiler/arm_5.0.4/include" --reread_libs --warn_sections --display_error_number --diag_wrap=off --xml_link_info="CC9000_B_1_linkInfo.xml" --rom_model -o "CC9000_B_1.out"  "./main.obj" "./System.obj" "./File_IO.obj" "./Control_Functions.obj" "./Common.obj" -l"libc.a" -l"C:\ti\TivaWare_C_Series-1.0\driverlib\ccs\Debug\driverlib.lib"
    <Linking>

     undefined first referenced
      symbol       in file     
     --------- ----------------
     f_close   ./File_IO.obj   
     f_lseek   ./File_IO.obj   
     f_open    ./File_IO.obj   
     f_printf  ./File_IO.obj   
     f_sync    ./File_IO.obj   


    >> Compilation failure
    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "CC9000_B_1.out" not built
    gmake: *** [CC9000_B_1.out] Error 1
    gmake: Target `all' not remade because of errors.

    **** Build Finished ****

  • Guru 130875 points

    In reply to Elad Rind:

    Hi Elad,

    please review that wiki I sent you the link to carefully.

    How/where did you add the path to the header?   Is it copied into or linked into the project?  As in the wiki, this makes a difference.

    If it was copied into the project, the path needs to be in the compiler include options.

    If it was linked it need to be in the linked resources with any path properly resolving.  You can check how a linked file is being resolved by right-clicking on it and going to properties.

    Is this a library you are trying to connect in/use?  

    Best Regards,
    Lisa 

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.