2017-09-29 1 views
0

Ich verwende Lahey/Fujitsu Fortran 95 Compiler für einen festen Format-Code (. FOR), der viele Include-Dateien enthält. Ich plane, ein paar Dateien zu .F90 zu ändern und würde gerne Include-Dateien mit intersection format haben (im Wesentlichen fixes Format mit einem kaufmännischen Und-Zeichen in Spalte 73 jeder fortgesetzten Zeile und mit kaufmännischem Und immer in Spalte 6 zum Starten einer Fortsetzungszeile).Fehler 'Name fehlt' mit Kreuzungsformat und Lahey/Fujitsu Fortran Compiler

Aber ich bekomme Fehler, dass die Variable nicht definiert ist. Gibt es einen Grund dafür, dass ein Schnitt für Lahey nicht verfügbar ist?

Der gleiche Code, wenn auf GNU getestet funktioniert gut. Es wird nett sein, wenn jemand weiß, wie man es in Lahey zum Laufen bringt.

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 

Fehler:

column 73: Missing name. 
error 1110: Missing name 

Compiler Lahey/Fujitsu Fortran 7,7

Compiler Options

+0

Willkommen. Wenn Sie einen Fehler haben, müssen Sie ** uns den Code zeigen, der den Fehler verursacht, und die genaue Fehlermeldung ** beenden. Sonst kann dir niemand helfen. Vergiss nicht, uns zu zeigen, wie du den Code kompilierst. Bitte sehen Sie [fragen] und [mcve]. Es ist wirklich wichtig. –

+0

[Bearbeiten] die Frage, um die Details anzuzeigen. Du musst ** den Code anzeigen **! Tot, du liest die Links, die ich gepostet habe. Sie müssen wirklich, wirklich, sie sehen, und Sie müssen den Code zeigen. –

+0

vielleicht ein bisschen daneben, aber das kaufmännische Und muss nicht in genau Spalte 73 sein, gerade nach 72 und bis zu 130. – agentp

Antwort

0

Wenn der Compiler gibt Dieser Fehler mit dem sehr kleinen Code, den Sie zeigen, dann ignoriert der Compiler die Zeichen nach Zeichen 73 nicht und Sie können das Schnittformat nicht verwenden.

Versuchen Sie, im Handbuch eine Option zu finden, die Sie dazu bewegen könnte, aber Sie können das Kreuzungsformat mit diesem Compiler einfach nicht verwenden.


Die Linux Lahey Compiler manual Staaten Zeichen nach Zeichen 72 sollte ignoriert werden. Wenn Sie solch ein Verhalten nicht beobachten, müssen Sie uns Ihre genaue Compiler-Version zeigen, uns sagen, wie genau Sie es benutzen, alle Compiler-Flags und noch einmal überprüfen, dass Sie genau die vier Zeilen kompilieren, die Sie oben zeigen und sonst nichts.

+0

Ich fügte den genauen Code hinzu, der den Fehler zeigt. –

+0

Sicher, dass die Einrückung im neuen Code (var ...) korrekt ist, also 6 Leerzeichen oder 5 Leerzeichen und ein & in test.inc und 6 Leerzeichen im Hauptprogramm (der Abstand könnte jedoch im Bearbeitungsprozess verloren gegangen sein)). – albert

+0

Einrückung ist korrekt, da der Code für gnu fortran Compiler funktioniert –

Verwandte Themen