Hi,
ich bin hier etwas am verzweifeln. Ich habe in einem Projekt folgende Dateien:
main.cpp
md5.cpp
main.h
md5.h
in der md5.h steht unter anderem folgendes:
#include <stdio.h>
#include <math.h>
#include <memory.h>
typedef unsigned long ulong;
typedef unsigned char uchar;
// 1..64 ==> [65], constructed from a sine function
// T[i] = (ulong) (4294967296 * abs(sin(i)))
ulong T[65];
ulong hashval[4];
// to initialize A, B, C and D
ulong magic[4] = { 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476 };
struct md5_struc {
ulong A, B, C, D;
ulong X[16];
};
ulong *X;
[/PHP]
Die md5.cpp includiert die md5.h
Die main.h includiert unter anderem die stdio.h
Die main.cpp includiert die main.h und die md5.h
Beim Linken bekomme ich immer die Fehler:
MD5.OBJ : error LNK2005: "unsigned long * magic" (?magic@@3PAKA) bereits in main.obj definiert
MD5.OBJ : error LNK2005: "unsigned long * hashval" (?hashval@@3PAKA) bereits in main.obj definiert
MD5.OBJ : error LNK2005: "unsigned long * X" (?X@@3PAKA) bereits in main.obj definiert
MD5.OBJ : error LNK2005: "unsigned long * T" (?T@@3PAKA) bereits in main.obj definiert
Debug/OU_DLCL.exe : fatal error LNK1169: Ein oder mehrere mehrfach definierte Symbole gefunden
Fehler beim Ausführen von link.exe.
Wie kann ich das umgehen?:confused:
Gruß
Guybrush