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.

undefined symbol, error #10104 - when adding new task to TCF file

Hello,

I cannot add new tasks to my project, using the TCF Configuration Tool, without generating a #10104 error, saying "undefined symbol" in <projectname>.cmd.  I was trying to add in an IDL task, but it occurs if adding in a new TSK, etc as well.  The project/TCF has exsiting tasks, which were added at an earlier point in the project, which are being recognized, so it's unclear why this has stared now. 

This is the line it's choking on, in the .cmd file:

_IDL_main = IDL_main;

IDL_main is the name of the IDL loop task I am trying to add in, under Scheduling->IDL->"Insert IDL".  Once again, though, this will occur when trying to add in other places as well, like Scheduling->TSK->"Insert TSK", etc.

        CCS version:  5.1.0.09000

        BIOS version: 5.41.11.38

        Tools: v7.31

Please advise,

Robert

  • What is the name of the TSK/IDL object, and what's the name of the function associated with it?  Make sure they have different names and also make sure you remember the leading underscore for the function name.

  • Thanks for the reply.

    The IDL object is IDL_main, with function specified as _idl_main_fxn.  In the C file, it's:

        void idl_main_fxn( void )

     

  • Please post the complete error message.

  • <Linking>

    "./projectnamecfg.cmd", line 232: error #10104: undefined symbol "IDL_main" used in expression

    error #10010: errors encountered during linking; "projectname.out" not built

    >> Compilation failure

     

    line 232 is projectnamecfg.cmd is

    _IDL_main = IDL_main;

    gmake: *** [projectname.out] Error 1

  • clean edit mistakes in last response....

    ------------------------------ error -----------------------------------------------------------------------------------------------

    <Linking>

    "./projectnamecfg.cmd", line 232: error #10104: undefined symbol "IDL_main" used in expression

    error #10010: errors encountered during linking; "projectname.out" not built

    >> Compilation failure

    gmake: *** [projectname.out] Error 1

    ---------------------------------------------------------------------------------

     

    line 232 in projectnamecfg.cmd is

    _IDL_main = IDL_main;

  • Very strange... Can you try doing a "clean" and verify that all the generated files have been deleted. Then rebuild and verify that all the timestamps on the generated files are correct.

  • Robert56682 said:

    <Linking>

    "./projectnamecfg.cmd", line 232: error #10104: undefined symbol "IDL_main" used in expression

    error #10010: errors encountered during linking; "projectname.out" not built

    >> Compilation failure

    gmake: *** [projectname.out] Error 1

    Can you look in projectnamecfg.s62 to see if the IDL_main definition is there?  It should look like this:

    ;; ======== IDL_Obj IDL_main ========
    ;; <add comments here>
    ;;
    ;; IDL_Obj IDL_main (function, calibration)
         .global IDL_main
         .asg _idl_main_fxn, _function
         .asg 01H, _calibration
         IDL_Obj 1, IDL_main, 0, _function, _calibration

    The only reason I can imagine for this error is if for some reason your projectnamecfg.s62 file had accidentally been marked read-only or something like that.

  • As it turns out, I had two versions of projectnamecfg.s62, probably resulting from an earlier move of project files.  One was in the project ./ root directory, and the other was in the ./Debug directory.  The ./Debug directory is the proper location, so I removed the ./ directory version, plus other projectnamecfg.* files also stranded in the ./ directory from before. 

    Then I did the following steps:

    1)      “Clean Project”

    2)      removed the Debug directory

    3)      “Build Project

    and was successful. 

    Thanks!,

    Robert