3

我在 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

有什么建议吗??我真的需要解决这个问题,所以任何帮助都将不胜感激。非常感谢!!

4

1 回答 1

6

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

于 2011-04-18T02:16:02.817 回答