2017-09-29 1 views
0

J'utilise le compilateur Lahey/Fujitsu Fortran 95 pour un code au format fixe (.FOR) qui contient de nombreux fichiers include. J'ai l'intention de changer quelques fichiers en .F90 et aimerais avoir des fichiers include avec intersection format (format essentiellement fixe avec une esperluette à la colonne 73 de toute ligne continue, et avec des esperluettes toujours utilisées dans la colonne 6 pour commencer une ligne de continuation).Erreur 'nom manquant' avec format d'intersection et compilateur Lahey/Fujitsu Fortran

Mais j'obtiens l'erreur que la variable n'est pas définie. Y a-t-il une raison pour laquelle un format n'est pas disponible pour Lahey?

Le même code, s'il est testé sur GNU, fonctionne correctement. Ce sera bien si quelqu'un sait comment le faire fonctionner à Lahey.

PROGRAM MAIN 
    IMPLICIT NONE 
    INCLUDE 'test.inc' 

    INTEGER*4 index1 

    index1 = 1 
    Varx = 2 
    Vary = 3 
    Varz = 4 
    Vara = 5 
    PRINT*,"Varx=",Varx 

    END PROGRAM MAIN 

test.inc

REAL*4 Varx,Vary,Varz 
    REAL*4 Vara 
    COMMON /Varx/ Varx,Vary,           & 
&    Varz,            & 
&    Vara 

Erreurs:

column 73: Missing name. 
error 1110: Missing name 

compilateur Lahey/Fujitsu Fortran 7,7

Compiler Options

+0

Bienvenue. Si vous avez une erreur, vous ** devez ** nous montrer le code qui cause l'erreur et mettre fin au ** message d'erreur exact **. Sinon, personne ne peut vous aider. N'oubliez pas de nous montrer comment vous compilez le code. S'il vous plaît voir [demander] et [mcve]. C'est vraiment important. –

+0

[Modifier] la question pour montrer les détails. Vous devez ** montrer le code ** !. Dead vous lire les liens que j'ai posté. Vous devez vraiment, vraiment les voir et vous devez montrer le code. –

+0

peut-être un peu de côté, mais l'esperluette n'a pas besoin d'être exactement dans la colonne 73, juste après 72 et jusqu'à 130. – agentp

Répondre

0

Si le compilateur donne cette erreur avec le très petit code que vous montrez, alors le compilateur n'ignore pas les caractères après le caractère 73 et vous ne pouvez pas utiliser le format d'intersection. Essayez de trouver une option dans le manuel pour le persuader de le faire, mais vous ne pourrez tout simplement pas utiliser le format d'intersection avec ce compilateur.


Les caractères états compilateur Linux Lahey manual après le caractère 72 doivent être ignorées. Si vous n'observez pas un tel comportement, vous devez nous montrer votre version exacte du compilateur, nous dire exactement comment vous l'utilisez, tous les drapeaux du compilateur et vérifiez encore que vous ne compilez que les quatre lignes ci-dessus et rien d'autre.

+0

J'ai ajouté le code exact qui montre l'erreur. –

+0

Bien sûr que l'indentation est correcte dans le nouveau code (var ...), donc 6 espaces ou 5 espaces et a & in test.inc et 6 espaces dans le programme principal (l'espacement peut avoir été perdu dans le processus d'édition bien). – albert

+0

L'indentation est correcte car le code fonctionne pour le compilateur gnu fortran –