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.

No operator "<" matches operand in compiler headers - c6000_7.4.4 compiler

Hi ,

Am new to CCS and tried compiling a imported C++ project into  CCS  .

After the CCS project compilation, am getting the following error -

Description : No operator "<" matches these operands

Location  : line 133, external location: /opt/ti/ccsv5/tools/compiler/c6000_7.4.4/include/functional   -   C/C++ Problem .


Since its pointing to the compiler headers -  its bit confusing.

  • Please show the full context of this error from the Console view, not the problems view.  Please include the full compiler invocation line with all the build options, and the full text of the diagnostic.

    Moreover, it is all but certain we will need a test case preprocessed as described this video.

    Thanks and regards,

    -George

  • Hi George ,

    please find below the compilation result from the console -

    "/opt/ti/ccsv5/tools/compiler/c6000_7.4.4/include/functional", line 133: error #351: no operator "<" matches these operands
                operand types are: const std::string < const std::string
              detected during:
                instantiation of "bool std::less<_Ty>::operator()(const _Ty &, const _Ty &) const [with _Ty=std::string]" at line 1101 of "/opt/ti/ccsv5/tools/compiler/c6000_7.4.4/include/xtree"
                instantiation of "std::_Tree<_Traits>::_Nodeptr std::_Tree<_Traits>::_Lbound(const std::_Tree<_Traits>::key_type &) const [with _Traits=std::_Tmap_traits<std::string, std::pair<int, int>, std::less<std::string>, std::allocator<std::pair<const std::string, std::pair<int, int>>>, false>]" at line 914 of "/opt/ti/ccsv5/tools/compiler/c6000_7.4.4/include/xtree"
                instantiation of "std::_Tree<_Traits>::iterator std::_Tree<_Traits>::lower_bound(const std::_Tree<_Traits>::key_type &) [with _Traits=std::_Tmap_traits<std::string, std::pair<int, int>, std::less<std::string>, std::allocator<std::pair<const std::string, std::pair<int, int>>>, false>]" at line 160 of "/opt/ti/ccsv5/tools/compiler/c6000_7.4.4/include/map"
                instantiation of "std::map<_Kty, _Ty, _Pr, _Alloc>::mapped_type &std::map<_Kty, _Ty, _Pr, _Alloc>::operator[](const std::map<_Kty, _Ty, _Pr, _Alloc>::key_type &) [with _Kty=std::string, _Ty=std::pair<int, int>, _Pr=std::less<std::string>, _Alloc=std::allocator<std::pair<const std::string, std::pair<int, int>>>]" at line 21 of "../lib/FAPISupport/l1_l2_Interface/src/Others/CommonFunctions.cpp"

    and the line 21 in a .cpp, where this bug arise is :

    case 15: tclassObject.fb(val); break;
    
    void a::fb(uint16_t tdummy)
    {
      if(tDummy <= 9999)
        mDummy = tDummy;
      else
      {
        cout<<" value is set wrong."<<endl;    
        exit(0);      
      }
    }
    
    

  • To address this problem I need to be able to reproduce it myself.  I cannot build the example you show above because I do not have the definition for the types of tclassObject, val, a, and all the things those types depend on.  Please preprocess that code and attach the resulting .pp file to your next post.  Please include the compiler version (which is different from the CCS version) and the exact build options used.

    Thanks and regards,

    -George