Hilfe bei Fehlermeldung



  • Hallo Zusammen,
    ich schreibe gerade eine Windows Forms-Anwendung.
    Habe das Prog heute kompiliert und folgende Fehlermeldung erhalten:

    ZeppCon0.0.1.obj : error LNK2005: "unsigned short BitValue" (?BitValue@@3GA) ist bereits in stdafx.obj definiert.
    ZeppCon0.0.1.obj : error LNK2005: "int BitNum" (?BitNum@@3HA) ist bereits in stdafx.obj definiert.
    ZeppCon0.0.1.obj : error LNK2005: "int Direction" (?Direction@@3HA) ist bereits in stdafx.obj definiert.
    ZeppCon0.0.1.obj : error LNK2005: "int PortNum" (?PortNum@@3HA) ist bereits in stdafx.obj definiert.
    ZeppCon0.0.1.obj : error LNK2005: "unsigned short DataValue" (?DataValue@@3GA) ist bereits in stdafx.obj definiert.
    ZeppCon0.0.1.obj : error LNK2005: "int automanu" (?automanu@@3HA) ist bereits in stdafx.obj definiert.
    E:\Projektordner\Programm C++\Zeppcon\ZeppCon0.0.1\Debug\ZeppCon0.0.1.exe : fatal error LNK1169: Mindestens ein mehrfach definiertes Symbol gefunden.

    Habe danach ein funktionierendes Backup geladen. Das gab dann aber die gleichen Meldungen. 😞



  • Und was war die Frage ?



  • Hallo Knuddlbaer,

    die Frage ist 1. Wie kann soetwas passieren ohne das ich etwas geändert habe?
    2. Wie löse ich das Problem?



  • Antwort zu 1:

    Du hast eine Variable in einem Header definiert und includierst diesen Header mehrfach in verschiedenen .cpp Dateien. Hier kann ein besseres Design und / oder CodeGuards weiterhelfen.

    (Ohne etwas geändert zu haben dürfte hier wohl nicht zutreffen, der Fehler hat vermutlich einfach nur lange geschlummert)

    Zeig doch mal den Codeausschnitt von der Deklaration / Definition der Variablen und wo Du sie verwendest (auch die Includezeile +- 5 Zeilen)



  • Hallo Knuddlbaer,

    habe die Lösung gefunden!!!!!!
    Meiner ursprünglichen Deklaration (die eigentlich funktionierte):

    #pragma once
    #include "cbw.h"
    
    const int BoardNum = 1;
    int automanu, PortNum, BitNum, Direction;	
    WORD BitValue, DataValue;
    

    habe ich ein "static" vorgesetzt!!! Nun funzt et!!!!
    Hat mich zwar ne Pulle Jimmy gekostet, bin aber heilfroh.

    An dieser Stelle muß ich allen Jungz und Mädels die sich mit Visual Studio wirklich auskennen, meinen riesen Respekt aussprechen. All diese Leutz müssen
    so eine riesen Portion Hirnschmalz haben, dass sie end Stolz auf sich seien können. Solche Leute respektiere ich mehr als jeden Pop- und Filmstar. Ihr seid
    meine wahren Helden. Hut ab!!!

    Der nichtswissende Markus!!!! 😮


Anmelden zum Antworten