programme basé sur deux fichiers - gfortran
Bonjour,
j'apprends le fortran et je m'exerce à la compilation d'un programme basé sur plusieurs fichiers de code. Le fichier principal s'appelle "fortran_test.f90", le second "secondProg.F90". Comme le montre le code ci-dessous, deux subroutines sont présentes. L'une est rédigée dans le fichier principal "fortran_test.f90", l'autre dans le fichier auxiliaire.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
programm fortran_test
include "secondProg.F90"
write(*,*) 'a first test'
call outputTest
call secondProg
end programm fortran_test
subroutine outputTest
write(*,*) 'the output test'
end subroutine outputTest |
Code:
1 2 3 4 5 6
|
subroutine secondProg
character(len=3) :: mychar01
end subroutine secondProg |
Lorsque je compile le programme principal avec:
Code:
1 2
|
gfortran fortran_test.F90 -o mytest2 |
J'obtiens une erreur:
Citation:
secondProg.f90:6.3
Included at fortran_test.f90.2:
End Subroutine secondProg
1
error:expecting end programm statement at (1)
Par contre, lorsque je mets la fonction auxiliaire, ainsi que la commande "include" correspondante et le "call" correspondant en commentaires, ca fonctionne.
Quelqu'un peut il me donner la syntaxe pour compiler? J'ai l'impression que c'est là que ca pêche. J'ai essayé de compiler séparément le fichier auxiliaire en préalable
Citation:
gfortran secondProg.f90 -c secondProg.o
Mais ca ne change rien
Je suppose que le probleme vient du compilateur et que ma syntaxe est fausse. Je travaille sour linux suse. version de gfortran: 4.7 (ou 4.6)
merci pour toute aide
oodbae