Anzeige:
Ergebnis 1 bis 8 von 8

Thema: error LNK2005

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Registrierter Benutzer
    Registriert seit
    11.04.2006
    Beiträge
    69

    error LNK2005

    Hi,
    wenn ich mein Programm unter Visual Studio kompilieren will kommen folgender Fehler:
    Code:
    Fehler	13	error LNK2005: "char const register_addr0" (?register_addr0@@3DB) ist bereits in main.obj definiert.	processor.lib
    mein Programm besteht aus:
    Processor.h
    Processor.cpp
    und
    mainprog.cpp

    wobei in der mainproc.cpp die Processor.h "includiert " wird

    in der Processor.h sind bestimmte Konstanten deklariert und zugewiesen
    wie z.B:
    Code:
    extern const char* name_register_addr0		= "ad0";
    extern const char* name_register_addr1		= "ad1";
    nun hab ich die Vermutung das er die Konstanten in mainproc.cpp kompiliert und dann noch mal in Processoer.h.

    Ich habe gehofft das der "extern" Befehl da behebt, aber die Fehlermeldungen sind gleich geblieben.


    gibt es da eine Möglichkeit das zu umgehen? ansonsten müsste ich #define benutzen, da findet dann aber wieder keine Typenprüfung statt bzw Typenlos.

    Der g++ unter Linux spuckt auch errors aus

    Code:
    martin@turion64:~/Desktop/Downloads/test$ g++ Processor.o Memory.o main.o
    main.o:(.rodata+0x13): multiple definition of `register_akku'
    Processor.o:(.rodata+0x4): first defined here
    main.o:(.rodata+0x14): multiple definition of `register_b'
    Processor.o:(.rodata+0x5): first defined here
    main.o:(.rodata+0x15): multiple definition of `register_c'
    Processor.o:(.rodata+0x6): first defined here
    main.o:(.rodata+0x16): multiple definition of `register_d'
    Processor.o:(.rodata+0x7): first defined here
    main.o:(.rodata+0x17): multiple definition of `register_e'
    Processor.o:(.rodata+0x8): first defined here
    main.o:(.rodata+0x18): multiple definition of `register_f'
    Processor.o:(.rodata+0x9): first defined here
    main.o:(.rodata+0x19): multiple definition of `register_addr0'
    Processor.o:(.rodata+0xa): first defined here
    main.o:(.rodata+0x1a): multiple definition of `register_addr1'
    Processor.o:(.rodata+0xb): first defined here
    main.o:(.rodata+0x1b): multiple definition of `register_noreg'
    Processor.o:(.rodata+0xc): first defined here
    main.o:(.data+0x0): multiple definition of `name_register_akku'
    Processor.o:(.data+0x0): first defined here
    main.o:(.data+0x8): multiple definition of `name_register_b'
    Processor.o:(.data+0x8): first defined here
    main.o:(.data+0x10): multiple definition of `name_register_c'
    Processor.o:(.data+0x10): first defined here
    main.o:(.data+0x18): multiple definition of `name_register_d'
    Processor.o:(.data+0x18): first defined here
    Geändert von barton4 (04-04-2008 um 17:48 Uhr)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •