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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 subroutine secondProg character(len=3) :: mychar01 end subroutine secondProg
Lorsque je compile le programme principal avec:
J'obtiens une erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 gfortran fortran_test.F90 -o mytest2
Par contre, lorsque je mets la fonction auxiliaire, ainsi que la commande "include" correspondante et le "call" correspondant en commentaires, ca fonctionne.secondProg.f90:6.3
Included at fortran_test.f90.2:
End Subroutine secondProg
1
error:expecting end programm statement at (1)
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
Mais ca ne change riengfortran secondProg.f90 -c secondProg.o
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
Partager