Ciao a tutti.
Io dovrei creare delle librerie da utilizzare.
Ho creato un file header chiamato recognition.h, un altro file header chiamato socket.h
Ho creato due file .c uno chiamato recognition.c e uno chiamato socket.c
Inoltre, nei due file header, ho richiamato anche un altra libreria. La libreria juliuslib.h contenuta nella cartella juliuslib.
Sto imparando adesso ad usare le librerie.
Faccio una fatica immane. Non ci capisco niente.
Quando provo a compilare mi da mille errori. Il primo è: juliuslib/juliuslib.h no such file or directory
Ho sempre fatto dei programmai giganti tutti in un unico file.
Ora mi è stato chiesto di creare le librerie.
Qualcosina ho fatto però non ci salto fuori adesso.
Vi ringrazio tutti per l'aiuto
Ecco gli screenshot della mia cartella di lavoro



Ecco i miei header e file.c
recognition.h
codice:
#include <socket.h>
#include <juliuslib/juliuslib.h>

using namespace std;
void RunRecognition();
socket.h
codice:
#define PORT 7585
#define SERVERADDR "160.78.26.38"
//#define SERVERADDR "192.168.0.3"

#define SERVERID "1000"
#define MYID "60000"

#define HEADER "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
#define ROOTTAG "<command writerID=\"" MYID "\" readerID=\"" SERVERID "\" seqNum=\""

#define INCIPIT HEADER ROOTTAG

typedef struct {
  int			sock;
  int 			seqnum;
} sockid_t;
recognition.c
codice:
#include <recognition.h>
#include <socket.h>
void RunRecognition()
                {
                
                }
socket.c
codice:
#include  <socket.h>
Infine il mio main
codice:
#include <cstdlib>
#include <iostream>
#include <stdio.h>
//User Libraries
#include <manfiles.h>
#include <Constants.h>
#include <profiles.h>
#include <recognition.h>
#include <socket.h>

using namespace std;

int main(int argc, char *argv[])
{
    char choice;
    bool continue_cycle = true;
    char nome[NAMESIZE];
    char cognome[NAMESIZE];
    char nome_cognome[NAMESIZE]; 
    char miopercorso[PATHSIZE];
    if(RetrieveExePath(miopercorso)==-1)
          {
          #if DEBUG_TXT==TRUE
          cerr<<"Errore nel ritrovare il percorso dell'eseguibile!"<<endl;
          #endif                                   
          return ERROR_EXEPATH;
          }
          
    while (continue_cycle){
          
          
          cout<< "*** PROGRAMMA DI RICONOSCIMENTO VOCALE ***"<<endl;
          cout <<"Si desidera:"<<endl;
          cout <<"creare Nuovo utente (N)"<<endl;
          cout <<"eseguire il Riconoscimento con utente registrato (R) "<<endl;
          cout <<"Testare un profilo precedentemente creato (T) "<<endl;
          cout <<"Uscire (U)"<<endl;
    
          cin >> choice;
          
          switch (choice){
          
          case 'N':
          case 'n':
               cout << "Immetti nome e cognome " << endl;
               cin.ignore();
               cin.getline(nome_cognome,NAMESIZE);
                if(VerifyProfilePresence(nome_cognome, miopercorso))
                {
                 while (choice != 'U' && choice !='u'){
                   cout<<"Utente registrato."<<endl;
                   cout<<"Si desidera:"<<endl;
                   cout<<"Registrare nuovamente il profilo (N)"<<endl;
                   cout<<"Uscire dalla procedura di creazione (U) "<<endl;
                   cin >> choice;
                   if (choice == 'N' || choice =='n'){
                    cout<<"Cancellazione Vecchio utente..."<<endl;
                    RemoveOldProfile(miopercorso, nome_cognome);
                    cout<<"Creazione Nuovo utente..."<<endl;
                    CreateNewProfile (nome_cognome, miopercorso);
                   }
                 }
                }
                else//profile presence == false
                {
                 cout<<"Nuovo utente."<<endl;
                 CreateNewProfile (nome_cognome, miopercorso);
                }
          break;
          
          case 'R':
          case 'r':
                   //Guardo se l'utente c è:nome cognome, verificare che ci sia o no. Se c è, fai LoadProfile. altrimenti registra il profilo
                   cout << "Inserire nome e cognome " << endl;
                   cin.ignore();
                   cin.getline(nome_cognome,NAMESIZE);
                   if(VerifyProfilePresence(nome_cognome, miopercorso))
                                                          {
                                                          cout << "Utente registrato" << endl;
                                                          cout <<"Caricamento Profilo..." << endl;
                                                          LoadProfile(miopercorso, nome_cognome);
                                                          RunRecognition();
                                                          }          
                   else
                       cout << "Utente non registrato " << endl;
                       system("pause");
                       CreateNewProfile(nome_cognome,miopercorso);
          break;
          
          case 'T':
          case 't':
          break;
          
          case 'U':
          case 'u':
               continue_cycle = false;
          break;
          
          default:
          break;
          }
    }
    
    
    
    
    
       
    system("PAUSE");
    return EXIT_SUCCESS;
}