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