Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.06.29;
Скачать: CL | DM;

Вниз

Помогите справится с MSVC++ проектом   Найти похожие ветки 

 
@!!ex ©   (2008-05-15 18:24) [0]

Есть файлик Data.h
#ifndef __DATA_H__
#define __DATA_H__

#include "d3d9.h"
#include "uEnvironment.h"

const RT_UNKNOWN  = 0;
const RT_OPENGL   = 1;
const RT_DIRECTX9 = 2;

LPDIRECT3DDEVICE9 bspDirect3DDevice;

POINT DefaultMousePos;
POINT *MousePos = &DefaultMousePos;

BOOL DefaultKeyStates[256];
BOOL *KeyStates = &DefaultKeyStates[0];

int RenderType;

cEnvironment* Environment;
#endif //__DATA_H__

Он подключается в куче разных мест.
В итоге линкер ругается, что данные определены несколько раз. почему??
>>bsEngine error LNK2005: "int * DefaultKeyStates" (?DefaultKeyStates@@3PAHA) already defined in GAPI.obj
И такие ошибки для всего, что определено в Data.h
Почему??
Ведь он должен подключаться только один раз!


 
ketmar ©   (2008-05-15 19:12) [1]

>[0] @!!ex © (2008-05-15 18:24:00)
потому что extern BOOL ...

ты сначала в хидере переменную завёл (один раз), потом в файле реализации (второй раз). линкер удивился.

---
Understanding is not required. Only obedience.


 
@!!ex ©   (2008-05-15 19:23) [2]

> [1] ketmar ©   (15.05.08 19:12)

Спасибо! Разобрался.
Сто лет не описывал переменные в хедере. Забыл про extern совсем.


 
DiamondShark ©   (2008-05-16 12:19) [3]

Вот что отсутствие модульности с языками делает.



Страницы: 1 вся ветка

Текущий архив: 2008.06.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
2-1212126976
redlord
2008-05-30 09:56
2008.06.29
переключение раскладки клавы


2-1212121612
Dymok
2008-05-30 08:26
2008.06.29
Как узнать путь к каталогу документов пользователя


15-1210936110
Дмитрий С
2008-05-16 15:08
2008.06.29
Консоль управления MSSQL сервером.


3-1201027383
Ega23
2008-01-22 21:43
2008.06.29
ISQL в FireBird - передать скрипт и получить результат


2-1212251656
assassin8899
2008-05-31 20:34
2008.06.29
deletefile