module - Fortran 模块版本 fatal error

标签 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

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

最佳答案

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

关于module - Fortran 模块版本 fatal error ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5697643/

相关文章:

javascript - 如何将此文件导入到 VueJS 中?

javascript - 可以在 NodeJs 中枚举或访问模块级函数声明吗?

fortran - 本地初始化变量规则也适用于指针吗?

gdb - Fortran在gdb中打印可分配数组

module - 如何在 Julia 中本地扩展 Base 运算符(在模块中)

javascript - 路由在 angular.js 中不起作用 - 没有控制台或语法错误

module - Fortran:有没有办法有条件地使用模块?

c - SOR 程序不收敛(FORTRAN 到 C 的转换)

fortran - 如何强制 fortran 编译器在子程序违反 "intent(in)"的情况下生成错误,而忽略意图

fortran - 在 Fortran 中解析随机 "String + Integers"