Dati i seguenti sorgenti:
ecco i miei passi di compilazione:mat.c (modulo principale) che include cach.c
cach.c che include hello.h, hello.c, vect.h, cach.h, math.h
hello.c che include hello.h, common.h, vect.h, math.h
Ora capisco che ci sono stati problemi di linking, ma vorrei innanzitutto capire se i passi di compilazione sono corretti...gcc -c hello.c -lm
gcc: -lm: linker input file unused because linking not done
gcc -c cach.c -lm
gcc: -lm: linker input file unused because linking not done
gcc -c mat.c
gcc -o prova mat.o cach.o hello.o -lm
hello.o: (.bss+0x0): multiple definition of `min_or_mult'
mat.o: (.bss+0x0): first defined here
.
.
./usr/lib/gcc/i486-linux-gnu/4.1.2/../../../../lib/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
-
-
mat.c: (.text+0x488): undefined reference to `sqrt'
.
.
collect2: ld returned 1 exit status
Grazie.
EDIT:
-------------------
Cioè senza hello.o, riesco a creare il file prova e funziona se inserisco tra i parametri file dati di 5/6 MB, con uno di 12 MB invece inizia l' esecuzione correttamente e poi fallisce restituendo Segmentation fault (core dumped)gcc -o prova mat.o cach.o -lm
-------------------