So, ich erhalte den Fehler jetzt schon wieder (diesmal in einem anderen Projekt). Diesmal sollen vier Funktionen ereits definiert sein.
[list]RectKiller 0.1 error LNK2005: "void __cdecl Draw_small_rect(void)" (?Draw_small_rect@@YAXXZ) bereits in main.obj definiert
RectKiller 0.1 error LNK2005: "void __cdecl Draw_medium_rect(void)" (?Draw_medium_rect@@YAXXZ) bereits in main.obj definiert
RectKiller 0.1 error LNK2005: "void __cdecl Draw_big_rect(void)" (?Draw_big_rect@@YAXXZ) bereits in main.obj definiert
RectKiller 0.1 error LNK2005: "void __cdecl Draw_rects(void)" (?Draw_rects@@YAXXZ) bereits in main.obj definiert
RectKiller 0.1 fatal error LNK1169: Ein oder mehrere mehrfach definierte Symbole gefunden
[/list]Noch den zugehörigen Code. (Nur überfliegen, er wiedeholt sich ein paar mal)
def.hpp
|
C-/C++-Quelltext
|
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
#ifndef DEFS_HPP
#define DEFS_HPP
//########################################################################
#include <windows.h>
#include <time.h>
//########################################################################
extern HWND hWnd;
//########################################################################
class smallrect
{
public:
RECT s_rc_to_draw;
const static int s_width = 10;
const static int s_height = 10;
int s_color_r;
int s_color_g;
int s_color_b;
void RandomColor()
{
srand((unsigned)(time(NULL))); //Zufallsgenerator aktivieren
s_color_r = rand()%256; //RGB-Farbwerte generieren
s_color_g = rand()%256; // ""
s_color_b = rand()%256; // ""
}
void CalculateRect()
{
RECT s_mainrc; //Rect für den Clientbereich
GetClientRect(hWnd,&s_mainrc); //Größe des Clientbereich holen
srand((unsigned)(time(NULL))); //Zufallsgenerator aktivieren
int s_x_iPosition = rand()%s_mainrc.right; //einen x-Wert aus der Breite des Clientbereich generieren
int s_y_iPosition = rand()%s_mainrc.bottom; //einen y-Wert aus der Höhe des Clientbereich generieren
s_rc_to_draw.top = s_y_iPosition;
s_rc_to_draw.left = s_x_iPosition;
s_rc_to_draw.bottom = s_y_iPosition + s_height;
s_rc_to_draw.right = s_x_iPosition + s_width;
}
};
//#####################################################################
class mediumrect
{
public:
RECT m_rc_to_draw;
const static int m_width = 20;
const static int m_height = 20;
int m_color_r;
int m_color_g;
int m_color_b;
void RandomColor()
{
srand((unsigned)(time(NULL))); //Zufallsgenerator aktivieren
m_color_r = rand()%256; //RGB-Farbwerte generieren
m_color_g = rand()%256; // ""
m_color_b = rand()%256; // ""
}
void CalculateRect()
{
RECT m_mainrc; //Rect für den Clientbereich
GetClientRect(hWnd,&m_mainrc); //Größe des Clientbereich holen
srand((unsigned)(time(NULL))); //Zufallsgenerator aktivieren
int m_x_iPosition = rand()%m_mainrc.right; //einen x-Wert aus der Breite des Clientbereich generieren
int m_y_iPosition = rand()%m_mainrc.bottom; //einen y-Wert aus der Höhe des Clientbereich generieren
m_rc_to_draw.top = m_y_iPosition;
m_rc_to_draw.left = m_x_iPosition;
m_rc_to_draw.bottom = m_y_iPosition + m_height;
m_rc_to_draw.right = m_x_iPosition + m_width;
}
};
//###########################################################################
class bigrect
{
public:
RECT b_rc_to_draw;
const static int b_width = 30;
const static int b_height = 30;
int b_color_r;
int b_color_g;
int b_color_b;
void RandomColor()
{
srand((unsigned)(time(NULL))); //Zufallsgenerator aktivieren
b_color_r = rand()%256; //RGB-Farbwerte generieren
b_color_g = rand()%256; // ""
b_color_b = rand()%256; // ""
}
void CalculateRect()
{
RECT b_mainrc; //Rect für den Clientbereich
GetClientRect(hWnd,&b_mainrc); //Größe des Clientbereich holen
srand((unsigned)(time(NULL))); //Zufallsgenerator aktivieren
int b_x_iPosition = rand()%b_mainrc.right; //einen x-Wert aus der Breite des Clientbereich generieren
int b_y_iPosition = rand()%b_mainrc.bottom; //einen y-Wert aus der Höhe des Clientbereich generieren
b_rc_to_draw.top = b_y_iPosition;
b_rc_to_draw.left = b_x_iPosition;
b_rc_to_draw.bottom = b_y_iPosition + b_height;
b_rc_to_draw.right = b_x_iPosition + b_width;
}
};
#endif
|
rectkiller.cpp
|
C-/C++-Quelltext
|
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
56
57
58
59
|
#include <time.h>
#include "rectkiller.hpp"
#include "defs.hpp"
//########################################################################
extern HWND hWnd;
//########################################################################
void Draw_small_rect()
{
HDC hDC = GetDC(hWnd);
smallrect s_rc;
s_rc.RandomColor();
s_rc.CalculateRect();
HBRUSH hBR = CreateSolidBrush(RGB(s_rc.s_color_r,s_rc.s_color_g,s_rc.s_color_b));
FillRect(hDC,&s_rc.s_rc_to_draw,hBR);
}
void Draw_medium_rect()
{
HDC hDC = GetDC(hWnd);
mediumrect m_rc;
m_rc.RandomColor();
m_rc.CalculateRect();
HBRUSH hBR = CreateSolidBrush(RGB(m_rc.m_color_r,m_rc.m_color_g,m_rc.m_color_b));
FillRect(hDC,&m_rc.m_rc_to_draw,hBR);
}
void Draw_big_rect()
{
HDC hDC = GetDC(hWnd);
bigrect b_rc;
b_rc.RandomColor();
b_rc.CalculateRect();
HBRUSH hBR = CreateSolidBrush(RGB(b_rc.b_color_r,b_rc.b_color_g,b_rc.b_color_b));
FillRect(hDC,&b_rc.b_rc_to_draw,hBR);
}
//####################################################################
void Draw_rects()
{
Draw_small_rect();
Draw_medium_rect();
Draw_big_rect();
}
//#####################################################################
|
Ich hoffe jemand kann mir auch dieses Mal helfen und mir erklären, was ich immer flasch mache, damit ich diesen blöden Fehler erhalte. Des nervt langsam.
mfg spacegaier