Originariamente inviato da valentino86
quindi il preprocessore quando prende le librerie le cerca sia nella cartella di default sia nella cartella del progetto?
Il preprocessore non si occupa delle librerie.

E' nella fase di linking (e' quindi il linker) che si occupa di cercare le librerie che servono e collegarle ai moduli oggetto creati dal compilatore per ottenere l'eseguibile finale.

Altra cosa ma quella libreria cos'è? Nel senso nel file .cpp non è richiamata come #include o in nessun altro modo, da dove spunta fuori?
Quella libreria si occupa di connessione a database tramite ODBC. Non avendo presente il tutto il tuo codice, non so perche' viene utilizzata.

se il file .cpp in source chiama una libreria e questa è riportata in header significa che il programma la vede?
Un header e una libreria sono cose diverse.

Cioè se vedo la libreria in header non mi devo preoccupare se la legge o no giusto?
Ripeto ... header e librerie sono cose diverse.

L'header deve essere presente per indicare al sorgente le "firme" delle funzioni (ma anche strutture, classi, costanti, enum ...). Nella libreria invece (nel .lib) esiste il codice effettivo (se collegata staticamente) o il codice che serve a sapere cosa chiamare quando userà la corrispondente DLL (se collegata dinamicamente).

Anche se ti sembrerà un consiglio scontato, utilizza un libro per questo tipo di informazioni ... sono elementi di base che un programmatore deve conoscere e deve ottenere dallo studio sui libri, non da un forum ...