我正在使用包含許多不同功能的Fortran庫。要發展它,更容易維護它,我已經分成這個庫分爲幾個模塊(例如,part1.f90
,part2.f90
,part3.f90
),並使用所有這些單個模塊主模塊mylib.f90
:使用其他模塊編譯和鏈接模塊
module mylib
use part1
use part2
use part3
implicit none
end module mylib
的想法是再使用這個主要模塊在我的程序中用use mylib
。然而,我無法編譯和鏈接這些模塊。
這些模塊都包含並編譯在一個目錄/mylib/src/
,因此它也包含相應的*.o
和*.mod
文件。當我編譯我的程序在不同的目錄中使用:
gfortran -I/mylib/src myprog.f90 -o myprog
我期望編譯器在指定的目錄中找到所需的模塊。但不幸的是,我收到一條錯誤消息,說明有實際包含在子模塊中的函數存在未定義的引用。
我在這裏做錯了什麼?
謝謝你的幫助!
謝謝您的回覆!然而,當我將程序與庫鏈接時,我試圖繞過提及所有對象的需要。 – remek 2013-05-01 14:54:31