Fortran模块版本致命错误

时间:2011-04-18 01:16:28

标签: module fortran fortran95

我在Fortran 95上有一个非常可怕的错误:

Fatal Error: While reading module 'list5.mod' found module version 0, expected 6

我已经包含了我的模块的主要结构。我非常怀疑它与我的模块中的内容有什么关系,因为它给了我关于那些的错误信息,我已经能够修复它们,这意味着它能够通过我的模块很好,它只是与我使用模块的方式。也许?

    MODULE list5
    IMPLICIT NONE

    CONTAINS

----

END MODULE

主程序的结构如下:

    PROGRAM mainlist
    USE list5
IMPLICIT NONE

    !Variable Declaration
    INTEGER:: opt
    INTEGER, PARAMETER:: maxitems=50
    INTEGER:: size=0
    CHARACTER(20):: itemarray(50)
    INTEGER:: quantityarray(50)
    INTEGER:: totalquantity, i=0
    REAL:: totalprice=0, pricearray(50)=0

    CHARACTER(20), DIMENSION(:)::Item
    CHARACTER(20):: ItemSought
    LOGICAL:: Found
    INTEGER:: Location

    INTEGER:: NumItems=0, SmallestItem=0

!Select statement for the menu

DO
opt=choices()
SELECT CASE (opt)
    CASE(1)
        size=size+1
        CALL getItemData(itemarray,pricearray,quantityarray)
    CASE(2)
        CALL getFileItems(size,itemarray,pricearray,quantityarray)
    CASE(3)
        CALL pickItemRandomly (size)
    CASE(4)
        CALL calcListTotals
(pricearray,quantityarray,totalprice,totalquantity)
        CALL printList(size,itemarray,pricearray,quantityarray,totalprice, totalquantity)
    CASE(5)
        CALL sortByItem(itemarray, pricearray, quantityarray)
    CASE(6)
        CALL sortByPrice(itemarray, pricearray, quantityarray)
    CASE(7)
        CALL writeListtoFile(size,itemarray, pricearray, quantityarray)

    CASE(8)
        CALL search(itemarray, ItemSought, Found, Location)
    CASE(9)
        STOP
END SELECT
END DO



END PROGRAM

有什么建议吗?我真的需要解决这个问题,所以任何帮助都会受到赞赏。非常感谢!!

1 个答案:

答案 0 :(得分:6)

正如Rook所说,问题在于编译器版本;不知何故,第一次编译list5的.mod文件是由较旧的编译器生成的。清除所有.o和.mod文件,然后再试一次,首先编译list5.f90(或者包含模块list5的文件),然后编译主程序。