[ifort] Problème de compilation
Bonjour,
Je viens d'apprendre à construire un module et j'essaiE de le compiler et de l'utiliser dans un petit programme Fortran90.
Voici mon programme :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| program test
use test2
real :: c,d
print*,'Donnez a et b'
read(*,*) c,d
write(*,'(f6.2)') toto(c,d)
stop
end program test |
Voici le module :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| module test2
implicit none
contains
function toto(a,b)
real :: a,b,toto
toto = sqrt(a**2 + b**2)
end function toto
end module test2 |
Et voici le makefile que j'utilise pour compiler tout ça :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| F90FLAGS = -u -w -O3
FF = ifort
#ROOT = nrtype.o nrutil.o nr.o
NRMOD = test2.o
NR = test.o
# Suffix Rules
.SUFFIXES: .o .f90
.f90.o:
${FF} -c ${F90FLAGS} $<
default: ${NRMOD} ${NR}
clean:
rm -f *.o *.mod *~ |
Je tape make et ça compile, je n'ai pas de message d'erreur. Ce que je fais, je crée mon exécutable, à savoir :
ifort -o test test.o
Et là j'obtiens le message suivant :
Citation:
test.o: In function `MAIN__':
test.f90:(.text+0xca): undefined reference to `test2_mp_toto_'
Je viens de faire plusieurs forums, je n'ai pas trouvé solution. Quelqu'un pourrait m'aider svp !
Merci à vous