External Functions and Compiler linking issues
Hey,
Ok here goes...
I needed to separate a function (mmult) I had made from the driver program so I put it in its own .c file. The C driver though calls mmult.c and other Fortran functions so i needed to compile it using the fortran compiler. The mmult function uses OpenMp directives and so I need to use the intel compiler with the -openmp switch to take advantage, as g77 doesn't seem to support openMP.
Ok...
I can compile ok with without openMp support
>f77 -o mm mm.c mmult.c dgemm.o xerbla.o lsame.o
but when I try to use the fortran compiler (with or without omp)...
>ifort -openmp -o mm mm.c mmult.c dgemm.o xerbla.o lsame.o
I get ...
Quote:
mm.c: file not recognized: File format not recognized
I think it's because it wants the object file.
This is where my problem comes in...
- I can't compile the mm.c file on it's own because it needs the fortran functions.
- I can't compile the mmult.c as it hasn't got a main i think:
Quote:
/usr/lib/crt1.o(.text+0x18): In function `_start':
../sysdeps/i386/elf/start.S:115: undefined reference to `main'
Any ideas what i'm supposed to do here?
Thanks,
Colly
Oh - has anyone got any idea where I can get help with modifying my matrix multiplier (based on DGEMM) to work with OpenMP?
Thanks.