linker error while calling fortran from c
hiya,
I have a code which i use to link a fortran file. The fortran file was compiled using g77 compiler and it creates an object file. When I run my C code I find following run time linker error. I am using Dev-C++ 4.9.9.2.
[Linker error] undefined reference to `_Z4FACTi@4'
[Linker error] undefined reference to `_Z10PYTHAGORASffPf@12'
ld returned 1 exit status
I would highly appreciate if any one got any clues to solve the prob.
Thx
Rony.
My C Code is:
#include <stdio.h>
#include <math.h>
extern int __stdcall FACT (int n);
extern void __stdcall PYTHAGORAS (float a, float b, float *c);
main()
{
float c;
printf("Factorial of 7 is: %d\n", FACT(7));
PYTHAGORAS (30, 40, &c);
printf("Hypotenuse if sides 30, 40 is: %f\n", c);
}
Fortan Code is:
C File FORSUBS.FOR
C
INTEGER*4 FUNCTION Fact (n)
INTEGER*4 n
INTEGER*4 i, amt
amt = 1
DO i = 1, n
amt = amt * i
END DO
Fact = amt
END
SUBROUTINE Pythagoras (a, b, c)
REAL*4 a
REAL*4 b
REAL*4 c
c = SQRT (a * a + b * b)
END
|