tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
1
ZUGRIFFE
4865
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Andrej Dyck Andrej Dyck ist offline Mitglied Bronze
    Registriert seit
    Jul 2006
    Beiträge
    35
    Hallo zusammen,
    Ich bin mit meinem latein am ende . Hoffe ihr könnt mir helfen. Hab auch schon in Foren gesucht, Microsoft Hilfe benutzt und es haben auch viele diesen Fehler. Eigentlich versteh ich was Fehler bedeuten, aber bei Linkerfehlern bin ich überfragt. Die Beschreibung des Fehlers (http://support.microsoft.com/default...;en-us;q148652) hilft auch nicht viel.
    Also, Ich benutze Microsoft Visual Studio 2005 (C++). Ein CLR-Konsolen-Projekt.

    Hier Ausschnitte aus meinem Code (in der main() steht noch nichts):
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    
    //CbwLicence.h-------------------------------------------------------------------------
     
    #ifndef _CbwLicence_
    #define _CbwLicence_
     
    #include <vcclr.h>
    #include <stdlib.h>
     
    using namespace System;
     
    #include "CKeyINI.h"
    #include "NumberSystem34.h"
    #include "Crypt.h"
     
    class CbwLicence
    {
     // [..]
    };
     
    #endif
     
     
    //NumberSystem34.h-------------------------------------------------------------------------
     
    #ifndef _NumberSystem34_
    #define _NumberSystem34_
     
    #define _BASE 34
     
    #include <math.h>
    using namespace System;
     
    namespace NumberSystem34
    {
      // [..]
    }
     
    #endif
     
     
    //Crypt.h-------------------------------------------------------------------------
     
    #ifndef _Crypt_
    #define _Crypt_
     
    using namespace System;
    using namespace System::Security::Cryptography; 
    using namespace System::Text;
     
    namespace Crypt
    {
     // [..]
    }
     
    #endif


    Und das ist dan die Meldung vom Linker:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    Kompilieren...
    CbwLicence.cpp
    Verknüpfen...
    CKeyINI.obj : error LNK2005: "class System::String ^ __clrcall Crypt::ByteArrayToString(cli::array<unsigned char >^)" (?ByteArrayToString@Crypt@@YMP$AAVString@System@@P$01AE@Z) ist bereits in CbwLicence.obj definiert.
    CKeyINI.obj : error LNK2005: "class System::String ^ __clrcall Crypt::md5(class System::String ^)" (?md5@Crypt@@YMP$AAVString@System@@P$AAV23@@Z) ist bereits in CbwLicence.obj definiert.
    CKeyINI.obj : error LNK2005: "class System::String ^ __clrcall Crypt::sha1(class System::String ^)" (?sha1@Crypt@@YMP$AAVString@System@@P$AAV23@@Z) ist bereits in CbwLicence.obj definiert.
    CKeyINI.obj : error LNK2005: "class System::String ^ __clrcall Crypt::sha256(class System::String ^)" (?sha256@Crypt@@YMP$AAVString@System@@P$AAV23@@Z) ist bereits in CbwLicence.obj definiert.
    CKeyINI.obj : error LNK2005: "class System::String ^ __clrcall Crypt::ByteArrayToString(cli::array<unsigned char >^)" (?ByteArrayToString@Crypt@@$$FYMP$AAVString@System@@P$01AE@Z) ist bereits in CbwLicence.obj definiert.
    CKeyINI.obj : error LNK2005: "class System::String ^ __clrcall Crypt::md5(class System::String ^)" (?md5@Crypt@@$$FYMP$AAVString@System@@P$AAV23@@Z) ist bereits in CbwLicence.obj definiert.
    CKeyINI.obj : error LNK2005: "class System::String ^ __clrcall Crypt::sha1(class System::String ^)" (?sha1@Crypt@@$$FYMP$AAVString@System@@P$AAV23@@Z) ist bereits in CbwLicence.obj definiert.
    CKeyINI.obj : error LNK2005: "class System::String ^ __clrcall Crypt::sha256(class System::String ^)" (?sha256@Crypt@@$$FYMP$AAVString@System@@P$AAV23@@Z) ist bereits in CbwLicence.obj definiert.
    D:\Projects\bwLicence\test_CbwLicence\Debug\test_CbwLicence.exe : fatal error LNK1169: Mindestens ein mehrfach definiertes Symbol gefunden.

    Ich hoffe ihr könnt mir helfen.

    Gruß Andrej

    p.s. ahja, ich binde ja noch ne klasse CKeyINI ein. also über die klasse mekert er nicht. nur über die namespaces bzw. auch wenn ich die Funktionen nicht in das namespace packe kommt der Fehler.
    Und wenn ich ein anderes clr-projekt erstelle und nur eines/beide namespaces direkt in die Hauptdatei einbinde und in der main() benutze, dann klappts auch einwandfrei
    Geändert von Andrej Dyck (28.07.06 um 16:17 Uhr) Grund: vergessen ^^
     
    "A Journey of thousand miles begins with a singel step."

    QuoteList

  2. #2
    Andrej Dyck Andrej Dyck ist offline Mitglied Bronze
    Registriert seit
    Jul 2006
    Beiträge
    35
    Ok, ich habe das Problem gelöst. Was es war? Also:
    Ich habe die Funktionen in der .h Datei Deklariert und Definiert.

    z.b.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    /* .h */
     
    namespace Crypt
    {
      String^ md5(String^szStr)
      {
        /* [..] */
      }
    }

    das mochte der MVS nicht. Hab vorher mit Borland (da gings) gearbeitet und das auch früher so gemacht, deshalb wusste ich nicht, weshalb der Linkerfehler überhupt kam.

    Lösung:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    /* .h */
     
    namespace Crypt
    {
      String^ md5(String^szStr);
    }
     
    /* .cpp */
     
    #include "Crypt.h"
    String^ Crypt::md5(String^szStr)
      {
        /* [..] */
      }

    MfG Andrej

    P.S. Quit
     
    "A Journey of thousand miles begins with a singel step."

    QuoteList

Ähnliche Themen

  1. Mysql++ Linker Fehler
    Von Sapd im Forum VisualStudio & MFC
    Antworten: 1
    Letzter Beitrag: 02.06.10, 09:23
  2. Linker Fehler GetModuleFileNameExA@16
    Von Ava-chan im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 19.03.10, 13:28
  3. Linker Fehler... hurra
    Von NotThatJenny im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 03.02.08, 14:35
  4. [C] VS05 Linker Error LNK2005
    Von Viper2009 im Forum C/C++
    Antworten: 7
    Letzter Beitrag: 22.08.07, 14:43
  5. [C++] Linker Problem (LNK2005)
    Von frager im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 20.07.04, 20:08