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.

error #10234-D: unresolved symbols remain

Other Parts Discussed in Thread: MSPWARE

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.

  • 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

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

  • 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 

  • 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

  • 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.

  • 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

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

  • 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 ****

  • 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 

  • I am trying to link the fatfs library to the project. However, I am interested in linking only two files out of the entire library. To do so I used absolute resolve. I added the locations to the path as well as to the include in the properties. In the code I am only including the file needed...

  • Hi Elad,

    If there is a library project, I would include it.     Are you past the errors now then?

    Best Regards,

    Lisa

  • Hi Lisa,

    Unfortunately, no luck so far. There is no project library. However, I have tried to link directly to the code with no luck.

    Any other ideas?

    Elad

  • Hi Elad,

    without knowing exactly what you are attempting, I am at a loss what next here.  Could you please lay out in detail what you are trying?  How are you trying to add your code?  Without the added code can you get Tivaware examples running?  Would you be able to send the project(s) for us to try to reproduce?

    Best Regards,
    Lisa 

  • There might be more elegant solutions out there, but here is how I found a way to make it work.

    Workaround for using driverlib on Windows

    1) Make sure that the "driverlib app" is installed. Go to help, CSS App center. Select "MSPware" and hit "install software." When it asks you which libraries you want to install after relaunch, install all of them.
    2) Navigate to "Project->import CSS Project" select browse on "select search-directory" and navigate to \You\Documents\TI\msp430. If you don't have this file, attempt step one until you do.
    3) Continue to \You\Documents\TI\msp430\MSPWare_3_30_00_18\driverlib\examples\empty_projects\driverlib_empty_project\ and select the CSS option. Select Finish from the "...to Import" popup.
    4) Download a version of whatever program you are trying to run
    5) Copy these files and paste them into the new driverlib_empty_project directory under \You\Documents\TI\workspace_v6_1\driverlib_empty_project. If it asks you if you would like to overwrite them, say "yes."
    main
    //Other unique c files
    startup_msp432p401r_css
    system_msp432p401r
    6) Open msp432p401r and copy-paste the code into \You\Documents\TI\workspace_v6_1\driverlib_empty_project_ccs.cmd
    7) Right-click on your project name ([Active - Debug]). Select properties. Select Build->MSP432 Compiler->Include Options.
    8) Add three directories to #include search path at the bottom:
    "You\Documents\TI\msp430\MSPWare_3_30_00_18\driverlib\driverlib\MSP432P4xx"
    "You\Documents\TI\msp430\MSPWare_3_30_00_18\driverlib\inc"
    "You\Documents\TI\workspace_v6_1\driverlib_empty_project\Debug"
    9) Push them to the top of the #include search path
    11) You should be finished!

    It seems to work for a lot of my friends on mac's right off the bat. Also, make sure sure sure that you have MSPWare installed.