我在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
有什么建议吗?我真的需要解决这个问题,所以任何帮助都会受到赞赏。非常感谢!!
答案 0 :(得分:6)
正如Rook所说,问题在于编译器版本;不知何故,第一次编译list5的.mod文件是由较旧的编译器生成的。清除所有.o和.mod文件,然后再试一次,首先编译list5.f90(或者包含模块list5的文件),然后编译主程序。