2
f2pyで単純にfortran90コードをラップする必要があります。 FORTRANモジュール "test.f90は"f2pyエラー:未定義シンボル
module util
contains
FUNCTION gasdev(idum)
implicit none
INTEGER(kind=4), intent(inout) :: idum
REAL(kind=8) :: gasdev, ran2
print*,idum
gasdev = ran2(idum)
return
END FUNCTION
FUNCTION ran2(idum)
implicit none
INTEGER(kind=4), intent(inout) :: idum
REAL(kind=8) :: ran2
print*,idum
ran2=2.D0
return
END FUNCTION
end module util
ですし、私は
f2py -m test -c test.f90
とそれを包むが、私はpythonの
In [2]: import test
でそれをインポートするときには、
というエラーで私を促しましたImportError: ./test.so: undefined symbol: ran2_
それを修正するには?ありがとう。
ありがとうございます。憂鬱な部分は、コードがFortranコンパイラ自体はうまく機能していることで、エラーが正常に動作しますコンパイル、確か – nye17
...かなり私に照射されていないf2pyで吐き出します。しかし、コードベースのどこかに外部プロシージャran2を持たない限り、リンクは別の問題かもしれません。 – janneb
私は 'external'キーワードを使用して外部関数を指定する必要があることを考えるために使用され、私はそれを宣言するとき、それはとてもすでにあることに気づいたことがありません... – nye17