Salve a tutti,
ho un problema con Code::Blocks... in pratica non riesco a compilare il programma perchè mi da il seguente errore:
tutto questo se faccio build sul file AlberoInt.ccodice:Compiling: H:\1CHIAVETTA\UniTO\Algoritmi_Lab\LAB\test\AlberoInt.c Linking console executable: H:\1CHIAVETTA\UniTO\Algoritmi_Lab\LAB\test\AlberoInt.exe D:/Software/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../libmingw32.a(main.o):main.c:(.text+0x104): undefined reference to `_WinMain@16' collect2: ld returned 1 exit status Process terminated with status 1 (0 minutes, 1 seconds) 1 errors, 0 warnings
Se invece lo faccio sul main mi da questo:
codice:Compiling: H:\1CHIAVETTA\UniTO\Algoritmi_Lab\LAB\test\main.c Linking console executable: H:\1CHIAVETTA\UniTO\Algoritmi_Lab\LAB\test\main.exe H:\1CHIAVETTA\UniTO\Algoritmi_Lab\LAB\test\main.o:main.c:(.text+0x43): undefined reference to `_nuovoAlbero' H:\1CHIAVETTA\UniTO\Algoritmi_Lab\LAB\test\main.o:main.c:(.text+0x61): undefined reference to `_nuovoAlbero' H:\1CHIAVETTA\UniTO\Algoritmi_Lab\LAB\test\main.o:main.c:(.text+0x75): undefined reference to `_nuovoAlbero' H:\1CHIAVETTA\UniTO\Algoritmi_Lab\LAB\test\main.o:main.c:(.text+0x93): undefined reference to `_nuovoAlbero' H:\1CHIAVETTA\UniTO\Algoritmi_Lab\LAB\test\main.o:main.c:(.text+0xab): undefined reference to `_nuovoAlbero' H:\1CHIAVETTA\UniTO\Algoritmi_Lab\LAB\test\main.o:main.c:(.text+0xbf): more undefined references to `_nuovoAlbero' follow H:\1CHIAVETTA\UniTO\Algoritmi_Lab\LAB\test\main.o:main.c:(.text+0xe5): undefined reference to `_preord' H:\1CHIAVETTA\UniTO\Algoritmi_Lab\LAB\test\main.o:main.c:(.text+0xf0): undefined reference to `_altezza' H:\1CHIAVETTA\UniTO\Algoritmi_Lab\LAB\test\main.o:main.c:(.text+0x10b): undefined reference to `_numNodi' H:\1CHIAVETTA\UniTO\Algoritmi_Lab\LAB\test\main.o:main.c:(.text+0x126): undefined reference to `_somma' H:\1CHIAVETTA\UniTO\Algoritmi_Lab\LAB\test\main.o:main.c:(.text+0x141): undefined reference to `_inord' collect2: ld returned 1 exit status Process terminated with status 1 (0 minutes, 0 seconds) 10 errors, 0 warnings
Questo è il source:
codice:#include <stdio.h> #include <string.h> #include <stdlib.h> #include "AlberoInt.h" struct Nodo { int elem; Albero sx, dx; }; Albero nuovoAlbero (int elem, Albero sx, Albero dx) { Albero pnodo = malloc (sizeof (struct Nodo)); pnodo->elem = elem; pnodo->sx = sx; pnodo->dx = dx; return pnodo; } Albero nuovaFoglia (int elem) { return nuovoAlbero (elem,NULL,NULL); } void inord(Albero t) { if(t) { inord(t-> sx); printf("%d\n", t-> elem); inord(t-> dx); } } void preord(Albero t) { if(t) { printf("%d\n", t-> elem); preord(t-> sx); preord(t-> dx); } } int altezza (Albero tree) { if(tree == NULL) { return 0; } else { int asx= altezza(tree-> sx); int adx= altezza(tree-> dx); return 1+max(asx,adx); } } int num=0; int numNodi (Albero tree) { if(tree == NULL){ return 0; } else { num=1+numNodi(tree->sx)+numNodi(tree->dx); } return num; } int max(int a,int b){ if(a>b) return a; else return b; } int somma(Albero tree){ if(tree == NULL) return 0; else { int sx= somma(tree->sx); int dx= somma(tree->dx); return sx+dx+tree->elem; } }
codice:typedef struct Nodo * Albero; typedef int bool; Albero nuovoAlbero (int elem, Albero sx, Albero dx); Albero nuovaFoglia (int elem); void _inord(Albero t); void _preord(Albero t); int _altezza(Albero t); int max(int a,int b);
codice:#include "AlberoInt.h" #include <stdio.h> #include <string.h> #include <stdlib.h> void inord(Albero t); int main(){ Albero alb=nuovoAlbero(10,nuovoAlbero(3,nuovoAlbero(5,NULL,NULL),NULL),nuovoAlbero(6,nuovoAlbero(13,NULL,NULL),nuovoAlbero(2,NULL,NULL))); printf("InOrd:\n"); printf("PreOrd:\n"); preord(alb); printf("Altezza: %d\n",altezza(alb)); printf("Numero nodi: %d\n",numNodi(alb)); printf("Somma nodi: %d\n",somma(alb)); inord(alb); }
Su solaris mi compilava e partiva e ora non va! cosa può essere?
Grazie a tutti

Rispondi quotando