2016-10-26 5 views
0

ich dieses Stück Code haben:Fehler: Symbol `__fileimporter_class_MOD___copy_character_1' bereits definiert

subroutine ReadCharToVariable(self,Format,VarOut) 
    implicit none 

    ! Declaring Part 
    class(FileImporter) :: self 
    character(len=25) :: DefaultValue = 'null' 
    character(len=25), intent(out) :: VarOut 
    character (len=*) :: Format 
    class(*), allocatable :: Value 

    ! Executing Part 
    allocate(Value,source = DefaultValue) 
    call self%ReadValueToVariable(Format,Value) 

    select type(Value) 
    type is (character(*)) 
     VarOut = Value 
    end select 
    end subroutine ReadCharToVariable 

Was tut, ist, ruft sie ReadValueToVariable mit Value Art ein Zeichen zu sein. ReadValueToVariable liest dann ein Zeichen aus der Datei und gibt es in Value zurück. Kompilieren (gcc 4.8.5) führt zum Fehler

/tmp/cc5JuIb6.s: Assembler messages: 
/tmp/cc5JuIb6.s:156: Error: symbol `__fileimporter_class_MOD___copy_character_1' is already defined 

der Fehler durch die type is (character(*)) Leitung verursacht wird (ohne den Charakter Funktionalität kompiliert). Ich verstehe nicht, was hier falsch ist, vielleicht kannst du mir helfen?

+0

Dies könnte ein Compiler-Problem sein, beschreiben Sie die Version und die Flags, die Sie verwenden. Es gab ähnliche Fehler in gfortran 4.8 und einigen späteren Versionen. –

+0

Der Compiler ist 'gcc Version 4.8.5 (SUSE Linux)'. Compiler-Flags sind '-c' oder' -fno-f2c -O0-g', beide ergeben die gleiche Fehlermeldung – THo

Antwort

0

Dies ist definitiv ein Compiler-Fehler. Es ist verwandt, oder es ist direkt diese https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60359, die in gfortran 4.9 behoben wurde. Beachten Sie, dass 4.8 seit geraumer Zeit nicht mehr unterstützt wird und ich denke, dass das Release 4.9.4 auch das letzte für 4.9 war. Unterstützte Versionen sind 5 und 6.

+0

danke. Ich werde es mir ansehen. IT muss dieses zuerst für mich installieren, wird Ihre Antwort akzeptieren, wenn es funktioniert. – THo

Verwandte Themen