PDA

Visualizza la versione completa : [C] problema compilazione Code::Blocks


Ov3rLo4d
08-10-2009, 19:19
Salve a tutti,

ho un problema con Code::Blocks... in pratica non riesco a compilare il programma perchè mi da il seguente errore:


Compiling: H:\1CHIAVETTA\UniTO\Algoritmi_Lab\LAB\test\AlberoI nt.c
Linking console executable: H:\1CHIAVETTA\UniTO\Algoritmi_Lab\LAB\test\AlberoI nt.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



tutto questo se faccio build sul file AlberoInt.c

Se invece lo faccio sul main mi da questo:



Compiling: H:\1CHIAVETTA\UniTO\Algoritmi_Lab\LAB\test\main.c
Linking console executable: H:\1CHIAVETTA\UniTO\Algoritmi_Lab\LAB\test\main.ex e
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:



#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;
}
}






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);






#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,NUL L,NULL),NULL),nuovoAlbero(6,nuovoAlbero(13,NULL,NU LL),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

Loading