Главная страница
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.023 c
2-1212065961
Nick
2008-05-29 16:59
2008.06.29
Как проверить есть ли встроке пробел


2-1212150966
Mozgan
2008-05-30 16:36
2008.06.29
Memo и SMTP


15-1209458145
inew
2008-04-29 12:35
2008.06.29
Tabel1.filter


15-1210793838
No_Dead
2008-05-14 23:37
2008.06.29
Перекрестные ссылки на сайте


9-1170690177
keal
2007-02-05 18:42
2008.06.29
создание 3d моделей