Could someone please help?

I am receving these error messages when I try to compile.

1>MSVCRTD.lib(cinitexe.obj) : warning LNK4098: defaultlib 'msvcrt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library
1>Game.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall GameObject::clean(void)" (?clean@GameObject@@UAEXXZ)
1>Game.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall player::clean(void)" (?clean@player@@UAEXXZ)

Could someone tell me why this is happening?

Here is my main.cpp.

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
134
135
#include "game.h"
#include "TextureManager.h"  
#include <vector>
#include "GameObject.h"
#include "player.h"

typedef TextureManager TheTextureManager;

GameObject* m_go;
GameObject* m_player;
std::vector<GameObject*> m_gameObjects;

bool Game::init(const char* title, int xpos, int ypos, int width, int height, int flags)
{



	if(SDL_Init(SDL_INIT_EVERYTHING) == 0)
	{
		m_pWindow = SDL_CreateWindow(title, xpos, ypos, width, height, flags);

		if(m_pWindow != 0)
		{
			m_pRenderer = SDL_CreateRenderer(m_pWindow, -1, 0);

			if(m_pRenderer != 0)
			{				
				SDL_SetRenderDrawColor(m_pRenderer, 255,255,255,255);
			}
			
			else
			{
				return false;
			}
		}
		
		else
		{
			return false;
		}
	}

	else
	{
		return false;
	}

	m_go = new GameObject();
	m_player = new player();

		m_go->load(100, 100, 128, 82, "animate");
	m_player->load(300, 300, 128, 82, "animate");

	m_gameObjects.push_back(m_go);
	m_gameObjects.push_back(m_player);

		if(!TheTextureManager::Instance()->load("assets/animate.png", "animate", m_pRenderer))
		{
			return false;
		}
	
	m_bRunning = true;
	
	return true;

	

	
}


void Game::render()
{
	
	SDL_RenderClear(m_pRenderer);

	for(std::vector<GameObject*>::size_type i = 0; 
		i != m_gameObjects.size(); i ++)
	{
			m_gameObjects[i]->draw(m_pRenderer);
}

	SDL_RenderPresent(m_pRenderer);

}


void Game::update()
{

	for(std::vector<GameObject*>::size_type i = 0; i != m_gameObjects.size(); i ++)
	{
		m_gameObjects[i]->update();
	}
	
}


void Game::handleEvents()
{
	SDL_Event event;

	if(SDL_PollEvent(&event))
	{
		switch (event.type)
		{
		case SDL_QUIT:m_bRunning = false;
			break;

		default:
			break;
		}
	}
}


void Game::draw()
{
	for(std::vector<GameObject*>::size_type i = 0; i != m_gameObjects.size(); i ++)
	{
		m_gameObjects[i]->draw(m_pRenderer);
	}
}


void Game::clean()
{
	SDL_DestroyWindow(m_pWindow);

	SDL_DestroyRenderer(m_pRenderer);

	SDL_Quit();
}
;
Please let me know if you need to see more code. Thanks.
The CPP files where GameObject::clean and player::clean are implemented are not included in the project. If they are then these functions are not implemented.
Topic archived. No new replies allowed.