File di intestazione in dev-C ++
Domanda
Sto cercando di aggiungere un file header a dev-C ++ ma quando lo compilo non funziona. Ecco i miei esatti passaggi (per il mio esempio, sto cercando di far funzionare mysql.h):
- copia " mysql.h " in c: \ dev-c ++ \ Includes
- controlla che negli strumenti dev-C ++ > opzioni del compilatore > directory > c include e c ++ include hanno il percorso per " c: \ dev-c ++ \ Includes "
- includi #include nella parte superiore del mio file
- compilato
Questo è ciò che mi ha detto il compilatore dev-C ++:
13 C:\Documents and Settings\Steve\Desktop\server code\setup1\main.c `mysql' undeclared (first use in this function)
Oltre ad altri errori dovuti alla mancata individuazione del file di intestazione
I passaggi che ho descritto sono corretti? Oppure c'è qualcos'altro che devo fare per ottenere la compilazione dei file di intestazione.
P.S. Ho provato a fare lo stesso con VS2008 (mettere mysql.h nella cartella include vs2008, ecc.) ma hanno ancora lo stesso errore. Vorrei rimanere con Dev-c ++ se possibile.
Soluzione
Dev-C ++ è una porta di GCC, quindi prova questa pagina: http://gcc.gnu.org/onlinedocs/cpp/Search-Path.html .
Nota che probabilmente dovrai armeggiare con il Makefile.
Altri suggerimenti
Non hai detto come lo hai incluso nella parte superiore del file. Questo dovrebbe funzionare se lo facessi
#include "mysql.h"
anziché
#include <mysql>
che è un errore che a volte le persone commettono.
MODIFICA: Forse prova a usare percorsi relativi piuttosto che un percorso assoluto (come sembra che tu stia facendo) quando specifichi directory di inclusione aggiuntive? Non so se ciò farebbe la differenza (e non ho il tempo di controllare) ma ho sempre usato percorsi relativi e ha sempre funzionato per me (è comunque una buona pratica). Quindi, invece di
C: \ Progetti \ ProjectName \ Include
qualcosa come
\ Includi o .. \ Includi in base alla struttura del file di progetto.
Ho avuto lo stesso problema ....
Devi inserire #include after " using namespace std; " ;, per usare il tuo file header nel namespace standard.
Per me funziona.
I migliori auguri.
Sul lato sinistro, fai clic con il pulsante destro del mouse sul progetto e scegli " Aggiungi al progetto " ;, quindi seleziona il file di intestazione.
È molto semplice ...
Crea il tuo file header e salvalo come estensione .h.
Quindi usa #include " nome_file.h " invece di usare include
Esempio- Questo è il mio file di intestazione.
#include<iostream>
using namespace std;
namespace Ritesh
{
int a;
int b;
void sum();
}
void Ritesh::sum()
{
cout<<a+b;
}
Quindi usalo-
#include<iostream>
#include "Ritesh.h"
using namespace std;
using namespace Ritesh;
int main()
{
a=4;b=6;
sum();
}
output- Output del programma