title: Function 'strlen' could not be resolved - Eclipse cpp
body: <p>I'm new on Ecplipse for cpp, i'm having a lot of problem.</p>
  
  <p><strong>FIXED: 1) on the begining there was no INCLUDING FOLDER by dafault.</strong><br></p>
  
  <p>Unpached the Eclipse's zip but it was with no libriries (or including) so i set the "Path and symbols" with the inclusing folder's DEV ( installed MinGW and included their too).
  Doing that, i fixed the problem of  including.</p>
  
  <p><strong>NOT FIXED: 2) "Function 'strlen' could not be resolved"</strong> </p>
  
  <p><strong>NOT FIXED 3) "Program "g++"(gcc too) not found in PATH"</strong><br>
  I set the PATH with the bin of: dev, mingw and mingw/msys folders... but didn't work</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;stdlib.h&gt;
  #include "D:\Documenti\funz.cpp"
  #include "D:\Documenti\winfunz.cpp"
  using namespace std;
  
  typedef char Elem;
  struct Node{
      int id;
      Elem * val;
      Node* prev;
      Node* next;
  };
  typedef Node* List;
  
  class Fifo{
  
  List l;
  
  public:
      Fifo(){
      l=NULL[enter image description here][1]; 
      }
      void insert(List &amp;l, Elem *val, int id){
  
          Node *n;
          int riemp=strlen(val);
          n=new Node;
          n-&gt;val=new char[riemp+1];
          n-&gt;id=id;
          strcpy(n-&gt;val, val); // equivale a (*n).val=val;
  
          n-&gt;next=NULL;//a prescindere è NULL
          if (l==NULL){//se è il primo elemento
              n-&gt;prev=NULL;
              l=n;
          }
          else
              if (l-&gt;next==NULL){//se è il secondo elemento
                  l-&gt;next=n;
                  l-&gt;prev=n;
                  n-&gt;prev=l-&gt;prev;
              }
              else {
                  (l-&gt;prev)-&gt;next=n;
                  n-&gt;prev=l-&gt;prev;
                  l-&gt;prev=n;
              }
      }
  
      Node* search(List l, int id){
  
          while (l!=NULL &amp;&amp; l-&gt;id!=id)
              l=l-&gt;next;
          return l;
      }
  
      void delete_node(List &amp; l, Node* n){
          short int deltype=0;
          if (n-&gt;next==NULL &amp;&amp; n-&gt;prev!=l) deltype=1;//se è l'ultimo elemento
          if (n-&gt;next==NULL &amp;&amp; n-&gt;prev==l) deltype=2;//se è il secondo elemento
          if (n-&gt;next==NULL &amp;&amp; n==l) deltype=3;//se l'unico elemento
          if (n-&gt;next!=NULL &amp;&amp; n==l) deltype=4;//se solo il primo elemento vine eliminato
  
          switch (deltype){
  
          case 1:
              l-&gt;prev=n-&gt;prev;
              (n-&gt;prev)-&gt;next=NULL;
              break;
  
          case 2:
              l-&gt;prev=NULL;
              l-&gt;next=NULL;
              break;
  
          case 3:
              l=NULL;
              break;
  
          case 4:
              if (l-&gt;prev==l-&gt;next)//se sono solo gli ultimi due e il boss viene eliminato
              (l-&gt;next)-&gt;prev=NULL;
              else
                  (l-&gt;next)-&gt;prev=l-&gt;prev;
              l=l-&gt;next;
              break;
  
          default://se è un elemento non primo e non ultimo &amp;&amp; la lista ha elementi&gt;2
              (n-&gt;prev)-&gt;next=n-&gt;next;
              (n-&gt;next)-&gt;prev=n-&gt;prev;
          }
          delete[] n-&gt;val;
          delete n;
      }
      void print(List l){
          if (l==NULL) cout&lt;&lt;"\nLista vuota\n";
          int tmp;
          char num[3+1] ;
          while (l!=NULL){
              tmp=l-&gt;id;
              if(tmp&lt;10) strcpy(num, strcat("00", MioNS::conv_num_numchar(tmp)));
              else if(tmp&lt;100) strcpy(num, strcat("0", MioNS::conv_num_numchar(tmp)));
              else strcpy(num, MioNS::conv_num_numchar(tmp));
              cout&lt;&lt;num&lt;&lt;":"&lt;&lt;l-&gt;val&lt;&lt;endl;
              l=l-&gt;next;
          }
          cout&lt;&lt;'\n';
      }
  
      void init_list(List &amp; l){
          l=NULL;
      }
      void delete_list(List &amp; l){
          Node* n;
          while (l!=NULL){
              n=l;
              l=l-&gt;next;
              delete[] n-&gt;val;
              delete n;
          }               }
  
      void printfile(List l , ofstream&amp; out){
          int tmp;
          char num[3+1] ;
          while (l!=NULL){
              tmp=l-&gt;id;
              if(tmp&lt;10) strcpy(num, strcat("00", MioNS::conv_num_numchar(tmp)));
              else if(tmp&lt;100) strcpy(num, strcat("0", MioNS::conv_num_numchar(tmp)));
              else strcpy(num, MioNS::conv_num_numchar(tmp));
              out&lt;&lt;num&lt;&lt;":"&lt;&lt;l-&gt;val&lt;&lt;endl;
              l=l-&gt;next;
          }
          out&lt;&lt;'\n';
      }};
  </code></pre>
  
  <p>hoping the code isn't the problem.</p>
  
  <p><strong> ERRORS</strong></p>
  
  <pre><code>  Description   Resource    Path    Location    Type
      Cannot run program "sh" (in directory "E:\CPP\workspace\Prova1"): CreateProcess error=2, Impossibile trovare il file specificato    Prova1      -1  Configure Problem
      Function 'strcat' could not be resolved Prova1.cpp  /Prova1/src line 102    Semantic Error
      Function 'strcat' could not be resolved Prova1.cpp  /Prova1/src line 103    Semantic Error
      Function 'strcat' could not be resolved Prova1.cpp  /Prova1/src line 128    Semantic Error
      Function 'strcat' could not be resolved Prova1.cpp  /Prova1/src line 129    Semantic Error
      Function 'strcpy' could not be resolved Prova1.cpp  /Prova1/src line 31 Semantic Error
      Function 'strcpy' could not be resolved Prova1.cpp  /Prova1/src line 102    Semantic Error
      Function 'strcpy' could not be resolved Prova1.cpp  /Prova1/src line 103    Semantic Error
      Function 'strcpy' could not be resolved Prova1.cpp  /Prova1/src line 104    Semantic Error
      Function 'strcpy' could not be resolved Prova1.cpp  /Prova1/src line 128    Semantic Error
      Function 'strcpy' could not be resolved Prova1.cpp  /Prova1/src line 129    Semantic Error
      Function 'strcpy' could not be resolved Prova1.cpp  /Prova1/src line 130    Semantic Error
      Function 'strlen' could not be resolved Prova1.cpp  /Prova1/src line 27 Semantic Error
      Program "g++" not found in PATH         Preferences, C++/Build/Settings/Discovery, [CDT GCC Built-in Compiler Settings] options C/C++ Scanner Discovery Problem
      Program "gcc" not found in PATH         Preferences, C++/Build/Settings/Discovery, [CDT GCC Built-in Compiler Settings] options C/C++ Scanner Discovery Problem
  </code></pre>