|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: May 2007
Città: MacLandia
Messaggi: 142
|
[C/C++] problema .c/.cpp e .h
Ciao a tutti,
premetto che non sono molto ferrato in ambito linux, me la cavo il tanto che basta per sopravvivere. Detto ciò ho un problema con un progetto in C/C++ e ho necessità di creare un file .cpp con all'interno delle funzioni il cui prototipo è dichiarato in un .h , in italiano questa è una libreria! ![]() file che contiene il main: #include <Lib/lib.h> nel lib.h: void foo () ; e nel lib.cpp: void foo ( ) { /* ... */ } e naturalmente non va. nel lib.h devo mettere extern? lo devo mettere nel .cpp? purtroppo non so come fa!! ![]() Grazie! ![]()
__________________
once you go Mac, you never go back! ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: May 2004
Città: Napoli
Messaggi: 773
|
Ma non si capisce niente
![]() Che vuol dire che non va? Che errori ricevi? Hai parlato di libreria, ma poi parli di main; quindi stai semplicemente compilando separatamente i due file cpp o devi effettivamente realizzare una libreria? In questo caso, come compili?
__________________
If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization. --Gerald Weinberg |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: May 2007
Città: MacLandia
Messaggi: 142
|
Si ora che l'ho riletto, effettivamente non si capisce una mazza
![]() Allora, io ho un cpp che contiene il main. in questo cpp io metto #include <Lib/lib.h> ed eclipse fa sparire la linea tratteggiata sotto, vuol dire che il path del file è corretto. Ora, io nel .h metto il prototipo, oltre al prototipo devo mettere altro? devo includere il cpp in cui è contenuto il codice a cui il prototipo fa riferimento? Quando compilo il compilatore si lamenta che non riesce a trovare la funzione che io chiamo all'interno del main. Più che altro mi serve sapere quale è la prassi, poi mi arrangio io ![]() Grazie ![]()
__________________
once you go Mac, you never go back! ![]() |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: May 2004
Città: Napoli
Messaggi: 773
|
Quote:
Ad esempio, potrebbe trattarsi di un errore del linker: magari non hai aggiunto al progetto il file in cui hai definito le funzioni.
__________________
If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization. --Gerald Weinberg |
|
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: May 2007
Città: MacLandia
Messaggi: 142
|
Ok risolto!! era un problema del linker
![]() Grazie mille! ![]()
__________________
once you go Mac, you never go back! ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:06.