Bonjour,
bon, je programme en fortran, et j'utilise aussi g95 comme compilateur.
Voici mon problème : il y a un bug, et je ne le comprends pas, malgré ce que je viens de lire sur ce forum.
Module :
Et voici le programme appelant :
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
16
17
18
19 module euler12 contains subroutine eul(f,m,xi,x0)!fonction à résoudre,parametre m,tableau de données de points généré,condition initiale implicit none real::f real,intent(in)::x0 integer,intent(in)::m real,dimension(:),intent(out)::xi integer::i,j,k,l,n real,dimension(:),allocatable::tn allocate (tn(0:n)) tn=(/(8.*i/real(n),i=0,n)/) xi(0)=x0 do i=0,n-1 xi(i+1)=xi(i)+f(xi(i),tn(i))/real(n) enddo deallocate (tn) end subroutine eul end module
Et voici le magnifique message d'erreur qui m'embête :
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
16
17
18
19
20
21
22
23
24 program Edo1 use euler12 implicit none integer, parameter::m=5 real,dimension(0:2**m)::res=0. real::t t=fxt(1.,1.) call eul(fxt,m,res,1.) print*,res contains function xt(t) real,intent(in)::t real::xt xt=exp(cos(t)-1) end function function fxt(x,t) real,intent(in)::x,t real::fxt fxt=-x*sin(t) end function end program
J'ai pourtant compilé correctement le module avant de lancer le programme. Maintenant je ne vois pas pourquoi ça plante.g95 Edo1.f90 -o Edo1
./cciF2odJ.o:Edo1.f90:(.text+0x5b): undefined reference to `_euler12_MP_eul'
>Exit code: 1
Merci d'avance de vos réponses.
Peace Oph
Partager