簡體   English   中英

f2py錯誤:未定義符號

[英]f2py error: undefined symbol

我需要用f2py包裝一個簡單的fortran90代碼。 fortran模塊“ test.f90”是

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_

關於如何解決它的任何想法? 謝謝。

在函數gasdev中,您將ran2聲明為外部函數。 由於您隨后未鏈接任何此類函數,因此模塊導入將失敗。

而是在gasdev中刪除ran2的聲明,在這種情況下,ran2調用使用模塊中ran2函數的顯式接口,並且一切正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM