|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6476
|
[C] Makefile strambo.
Allora,
ho un problema bizzarro Dunque, sto compilando un codice che mi hanno dato che contiene un makefile. La prima volta, mi dava degli errori in un include che non trovava un tipo. L'ho corretto, e la compilazione è andata avanti. A questo punto, ho trovato via via altri errori puntualmente corretti.Il problema si è presentato oggi: nonostante abbia fatto un make distclean, eliminato la cartella originale e riscompattato, ho sostituito i sorgenti corretti e continua a darmi gli errori di ieri!. Vado a controllare i sorgenti, e ci sono le correzioni che avevo apportato e che ieri funzionavano! Sembra che continui a vederei vecchi sorgenti, che però non esistono più! Che succede? |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Quote:
![]() No, è tecnicamente impossibile che faccia una cosa del genere, l'errore dev'essere un altro... È possibile vedere il Makefile e gli errori che ti dà? ciao
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6476
|
Quote:
Gli errori sono che non trova un tipo: Codice:
/header/node.h:32: error: ‘Element’ has not been declared poi c'era un errore in un cast, corretto. Anche questo prima andava, ora non più. Ultima modifica di Unrue : 21-06-2008 alle 15:16. |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Un link su NoPaste?
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2785
|
Stai usando un ide o stai compilando a manina? Se usi un IDE e hai creato un progetto prova a ricrearlo da zero aggiungendoci tutti i file e poi prova a ricompilarlo
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6476
|
Cioè? Il make file penso sia corretto, è generato con il configure.
Ultima modifica di Unrue : 21-06-2008 alle 15:44. |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6476
|
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
http://www.rafb.net/paste/
Comunque non è detto che se è generato dalle autotools sia corretto, magari è un errore di percorsi o roba simile, perciò ero curioso di sapere. Che programma è?
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6476
|
Quote:
|
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Mai sentito...
Va bene, se la cosa non dovesse risolversi, aggiornaci sull'andamente che proveremo a darti una mano.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6476
|
Ad esempio,
in un file header c'è questa definizione: Codice:
friend class Element; Codice:
../header/node.h:32: error: ‘Element’ has not been declared |
|
|
|
|
|
#12 | ||
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Quote:
Quote:
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
||
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6476
|
Quote:
Ultima modifica di Unrue : 22-06-2008 alle 16:12. |
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Mi fai vedere l'header o almeno cosa c'è alla riga 32? Probabilmente in quel punto viene usato qualche membro interno ad Element, se invece hai bisogno semplicemente di "sapere che esiste" basta una forward declaration.
ciao
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6476
|
Quote:
Codice:
class Node {
friend class Element;
friend void Pack_element(Element* sendel, ElemPack** elemptr,
HashTable* HT_Node_Ptr, int); // riga 32
Ultima modifica di Unrue : 22-06-2008 alle 16:24. |
|
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
No, no, la posizione è giusta, deve essere friend di quella classe e quindi deve essere interno alla stessa... Strano, prova a mettere un class Element; (una riga, così com'è) prima della dichiarazione di class Node.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#17 | |
|
Senior Member
Iscritto dal: Nov 2002
Messaggi: 6476
|
Quote:
Mm, pare che funzioni, nel senso che è andato avanti ma ha dato altri errori. Come si spiega questa cosa della classe friend quindi? Comunque questo programma è pieno di problemi, devo fare una ramanzina all'autore |
|
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
Allora ricordavo male, se c'è solo un "friend" la classe ha bisogno di essere già dichiarata esplicitamente: quindi quello che ti ho fatto fare è stato inserire una forward declaration (class Element) per evitare di dare l'errore. Però non è una soluzione ottimale, magari includendo prima il relativo header forse risolvevi.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:16.










Dunque, sto compilando un codice che mi hanno dato che contiene un makefile. La prima volta, mi dava degli errori in un include che non trovava un tipo. L'ho corretto, e la compilazione è andata avanti. A questo punto, ho trovato via via altri errori puntualmente corretti.









