[Visual Studio] Klasse einfügen, error LNK2005 bzw. fatal error LNK1169



  • Hi,

    ich hab eine Klasse mittels Menübefehl "Klasse hinzufügen" in mein VC-Projekt eingefügt und plötlich kommen die im Titel beschriebenen Fehler, sobald ich in eine ander Projektklasse diese neue Klasse mittels #include einbinde. Sonst hab ich einfach über "Datei hinzufügen"->".h" und ".cpp" neue Klassen eingefügt, da gabs keine Probleme. Hier mal die Ausgabe vom Linker:

    Grid.obj : error LNK2005: "char const * * GRID_FUNCTIONS" (?GRID_FUNCTIONS@@3PAPBDA) bereits in TrialDlg.obj definiert
    Grid.obj : error LNK2005: "char const * * GRID_COLORS" (?GRID_COLORS@@3PAPBDA) bereits in TrialDlg.obj definiert
    Grid.obj : error LNK2005: "char const * * GRID_TYPES" (?GRID_TYPES@@3PAPBDA) bereits in TrialDlg.obj definiert
    Debug/gridUI.exe : fatal error LNK1169: Ein oder mehrere mehrfach definierte Symbole gefunden

    Dabei ist Grid.h der mittels include in TrialDlg.cpp eingebunden Header.
    Wo liegt der Fehler?

    Grüsse,
    basto



  • Hallo,

    stehen in grid.h etwa Definitionen? Die haben dort nichts zu suchen, in diesem Falle die Trennung in .cpp und .h-Dateien beachten (genau dadurch sollen ja doppelte Definitionen vermieden werden!)

    Ansonsten sind alle Gründe für LNK2005 hier:

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore98/HTML/lnk2005.asp

    MfG


Anmelden zum Antworten