Salve a tutti,

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

codice:
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
tutto questo se faccio build sul file AlberoInt.c

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