0

I'm new on Ecplipse for cpp, i'm having a lot of problem.

FIXED: 1) on the begining there was no INCLUDING FOLDER by dafault.

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.

NOT FIXED: 2) "Function 'strlen' could not be resolved"

NOT FIXED 3) "Program "g++"(gcc too) not found in PATH"
I set the PATH with the bin of: dev, mingw and mingw/msys folders... but didn't work

#include <iostream>
#include <stdlib.h>
#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 &l, Elem *val, int id){

        Node *n;
        int riemp=strlen(val);
        n=new Node;
        n->val=new char[riemp+1];
        n->id=id;
        strcpy(n->val, val); // equivale a (*n).val=val;

        n->next=NULL;//a prescindere è NULL
        if (l==NULL){//se è il primo elemento
            n->prev=NULL;
            l=n;
        }
        else
            if (l->next==NULL){//se è il secondo elemento
                l->next=n;
                l->prev=n;
                n->prev=l->prev;
            }
            else {
                (l->prev)->next=n;
                n->prev=l->prev;
                l->prev=n;
            }
    }

    Node* search(List l, int id){

        while (l!=NULL && l->id!=id)
            l=l->next;
        return l;
    }

    void delete_node(List & l, Node* n){
        short int deltype=0;
        if (n->next==NULL && n->prev!=l) deltype=1;//se è l'ultimo elemento
        if (n->next==NULL && n->prev==l) deltype=2;//se è il secondo elemento
        if (n->next==NULL && n==l) deltype=3;//se l'unico elemento
        if (n->next!=NULL && n==l) deltype=4;//se solo il primo elemento vine eliminato

        switch (deltype){

        case 1:
            l->prev=n->prev;
            (n->prev)->next=NULL;
            break;

        case 2:
            l->prev=NULL;
            l->next=NULL;
            break;

        case 3:
            l=NULL;
            break;

        case 4:
            if (l->prev==l->next)//se sono solo gli ultimi due e il boss viene eliminato
            (l->next)->prev=NULL;
            else
                (l->next)->prev=l->prev;
            l=l->next;
            break;

        default://se è un elemento non primo e non ultimo && la lista ha elementi>2
            (n->prev)->next=n->next;
            (n->next)->prev=n->prev;
        }
        delete[] n->val;
        delete n;
    }
    void print(List l){
        if (l==NULL) cout<<"\nLista vuota\n";
        int tmp;
        char num[3+1] ;
        while (l!=NULL){
            tmp=l->id;
            if(tmp<10) strcpy(num, strcat("00", MioNS::conv_num_numchar(tmp)));
            else if(tmp<100) strcpy(num, strcat("0", MioNS::conv_num_numchar(tmp)));
            else strcpy(num, MioNS::conv_num_numchar(tmp));
            cout<<num<<":"<<l->val<<endl;
            l=l->next;
        }
        cout<<'\n';
    }

    void init_list(List & l){
        l=NULL;
    }
    void delete_list(List & l){
        Node* n;
        while (l!=NULL){
            n=l;
            l=l->next;
            delete[] n->val;
            delete n;
        }               }

    void printfile(List l , ofstream& out){
        int tmp;
        char num[3+1] ;
        while (l!=NULL){
            tmp=l->id;
            if(tmp<10) strcpy(num, strcat("00", MioNS::conv_num_numchar(tmp)));
            else if(tmp<100) strcpy(num, strcat("0", MioNS::conv_num_numchar(tmp)));
            else strcpy(num, MioNS::conv_num_numchar(tmp));
            out<<num<<":"<<l->val<<endl;
            l=l->next;
        }
        out<<'\n';
    }};

hoping the code isn't the problem.

ERRORS

  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
frisk
  • 75
  • 1
  • 10

1 Answers1

2

For Problrem 2:

To use functions like strcpy, strlen, etc you must include string header file.

#include<string.h>

or

#include<cstring>

For Problem 3:

You can refer to these links.

Eclipse C++ : "Program "g++" not found in PATH"

http://www.eclipse.org/forums/index.php/t/697857/

Hope this helps.

Community
  • 1
  • 1
dazzieta
  • 662
  • 4
  • 20
  • - fixed the g++/gcc problem----------------------- - #include aren't the problem becouse it's difinite in the other includings.----------------------- - when i try to RUN (with the error) Eclipse didn't found for make.exe so i passed the system "path" variable everywhere in windows->preferencies->*....and works!!!!-----------------------NOW i STILL have 2 problems: the missing string libraries and in the console: "make: *** No targets specified and no makefile found. Stop. " – frisk May 30 '16 at 19:41