Фатальная ошибка версии модуля Fortran - PullRequest
3 голосов
/ 18 апреля 2011

У меня очень страшная ошибка на Фортране 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 Ответ

6 голосов
/ 18 апреля 2011

Как говорит Рук, проблема в версиях компилятора; каким-то образом .mod-файл путем компиляции list5 в первый раз был сгенерирован более старым компилятором. Очистите все ваши .o и .mod файлы и попробуйте снова, сначала скомпилируйте list5.f90 (или любой другой файл, содержащий модуль list5), а затем скомпилируйте основную программу.

...