Форум программистов, компьютерный форум CyberForum.ru

Ошибки линковщика - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создание функции инициализации двумерного массива строк через указатель http://www.cyberforum.ru/cpp-beginners/thread643898.html
Здравствуйте,имеется двумерный массив: in_data_up=_T("00"); in_data_up=_T("01"); in_data_up=_T("02");in_data_up=_T("03");in_data_up=_T("04"); in_data_up=_T("10"); in_data_up=_T("11"); in_data_up=_T("12"); in_data_up=_T("13"); in_data_up=_T("20");in_data_up=_T("21"); in_data_up=_T("22"); in_data_up=_T("23"); необходимо создать функцию,которая...
C++ Как использовать fmod Я занимаюсь программированием музыкального проигрывателя, и мне нужно как-то воспроизводить музыку! Мне здесь же посоветовали fmod, которым я ни не умею пользоваться ни устанавливается. Нужна помощь!!:cry::umnik: http://www.cyberforum.ru/cpp-beginners/thread643859.html
C++ Для чего подключаются sys/stat.h?
для чего мы его подключаем?
C++ Проблемы с MipMap DirectX
Задача следующая: Есть некоторая текстура, в реалтейма ее содержимое меняется, путем копирования памяти из подкачки, непосредственно в сюрфейс первого уровня. Мне нужно создать мип уровни. Текстуру создаю так: device->CreateTexture(textureSize.x,textureSize.y,2,D3DUSAGE_DYNAMIC,D3DFMT_DXT1,D3DPOOL_DEFAULT,&texture,NULL); Затем, после обновления текстуры, вызываю: ...
C++ Проверка введено ли число http://www.cyberforum.ru/cpp-beginners/thread643817.html
Подскажите как сделать чтобы при нажатии кнопки проверялись поля Edit, если введено число(как целое, так и десятичное) происходили расчеты, если нет то выводилось сообщение. void __fastcall TForm1::Button1Click(TObject *Sender) { ////////////////////ras4et///////////////////////////// float Kl=0,Kk=0,W=0,U=0,Tp=0,cos=0,Rl=0,Kf=0,D=0; Kl=StrToFloat(Edit1->Text); Kk=StrToFloat(Edit2->Text);...
C++ поиск Здравствуйте уважаемые. Проблема в следующем. При нажатии в пуске "найти" пропадают значки с рабочего стола, тоже самое если нажать на "проводник", перезагрузишь, все на месте. ( Оговорюсь, я с комп., на Вы, толком не знаю где и что искать) где-то что-то нажал и вот такая проблема. Помогите, пожалуйсто! Спасибо! подробнее

Показать сообщение отдельно
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
29.08.2012, 10:13     Ошибки линковщика
Люди добрые, подскажите, как быть или дайте ссылку на статью о том, как работает линковщик..

Есть один главный хэдер, подключащий всё :

Chat Server.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#ifndef __CHATSERVER_H_
#define __CHATSERVER_H_
 
#include "resource.h"
 
#include "Defines.h"
#include "Classes.h"
#include "GlobalVariables.h"
 
#include "User.h"
#include "Room.h"
#include "Compare.h"
#include "Server.h"
#include "WndProcs.h"
 
#endif /*__CHATSERVER_H_*/


server.h
C++
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
#include "Chat Server.h"
 
#ifndef __SERVER_H__
#define __SERVER_H__
 
class SERVER
{
private :
    BOOL _s_status;
    HANDLE _s_thread;
 
    SOCKET _s_socket;
    sockaddr_in _s_address;
 
    set <USER*, COMPARE> _s_users;
    set <ROOM*, COMPARE> _s_rooms;
 
    list <BYTE> _s_usersID;
    list <BYTE> _s_roomsID;
 
public :
    SERVER();
    ~SERVER();
 
    BOOL    Start();
    BOOL    Accept();
    BOOL    Stop();
 
    USER*   UserNameUsed(char*);
    ROOM*   RoomNameUsed(char*);
 
    BOOL    SendToRoom(char*, ROOM*);
    BOOL    SendToAll(char*);
 
    BOOL    UserEnterRoom(USER*, ROOM*);
    BOOL    UserExitRoom(USER*, ROOM*);
 
    BOOL    AddUser(USER*);
    BOOL    DelUser(USER*);
    BOOL    AddRoom(ROOM*);
    BOOL    DelRoom(ROOM*);
 
    BOOL    CreateMessage(char*) const;
    BOOL    SetMessageParams(char*, const PACKET_COMMAND&, const BYTE&, const BOOL&) const;
    BOOL    GetMessageParams(const char*, PACKET_COMMAND&, BYTE&, BOOL&) const;
 
    const char* GetStatusString() const;
};
 
DWORD CALLBACK AcceptShell(LPVOID);
 
#endif /*__SERVER_H__*/


room.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "Chat Server.h"
 
#ifndef __ROOM_H__
#define __ROOM_H__
 
class ROOM
{
public :
    BOOL _r_ID;
    char* _r_name;
    set<USER*, COMPARE> _r_usersIn;
 
    ROOM();
    ~ROOM();
};
 
#endif /*__ROOM_H__*/


user.h
C++
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
#include "Chat Server.h"
 
#ifndef __USER_H__
#define __USER_H__
 
class USER
{
public :
    BOOL _u_ID;
    char* _u_name;
    HANDLE _u_thread;
    set <ROOM*, COMPARE> _u_roomsIn;
 
    sockaddr_in _u_address;
    int _u_addressSize;
    SOCKET _u_socket;
 
 
    USER();
    ~USER();
 
    BOOL Connection();
};
 
DWORD CALLBACK ConnectionShell(LPVOID);
 
#endif /*__USER_H__*/


compare.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "Chat Server.h"
 
#ifndef __COMPARE_H__
#define __COMPARE_H__
 
class COMPARE
{
public :
    COMPARE();
    bool operator() (ROOM*, ROOM*) const;
    bool operator() (USER*, USER*) const;
}
 
#endif /*__COMPARE_H__*/


classes.h
C++
1
2
3
4
5
6
7
8
9
#ifndef __CLASSES_H__
#define __CLASSES_H__
 
class ROOM;
class USER;
class SERVER;
class COMPARE;
 
#endif /*__CLASSES_H__*/


И в глобальных переменных маты на экземпляр класса SERVER
server.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#ifndef __GLOBALVARIABLES_H__
#define __GLOBALVARIABLES_H__
 
#ifdef __MAIN_CPP__
#define NAMESPACE
#else /*!(__MAIN_CPP__)*/
#define NAMESPACE extern
#endif /*__MAIN_CPP__*/
 
NAMESPACE WNDCLASSEX wcex;
NAMESPACE HWND hWndMain;
NAMESPACE HWND hDlgMain;
NAMESPACE HINSTANCE hInstMain;  
NAMESPACE WSADATA wsaData;
NAMESPACE TCHAR szTitle[STRING_SIZE];                   
NAMESPACE TCHAR szWindowClass[STRING_SIZE]; 
NAMESPACE SERVER server;
 
#endif /*__GLOBALVARIABLES_H__*/


В каждом cpp-файле есть только :
C++
1
2
#include "stdafx.h"
#include "Chat Server.h"
Собственно я запутался. 165 ошибок о том, что не определен SERVER, хоть и объявлен, о том, что не имеют ROOM'ы поля, да и вообще без 100 граммпонятия работы линковщика не разобраться

Добавлено через 2 часа 31 минуту
up-to-date
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru