Главная страница
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.019 c
15-1210697006
Ega23
2008-05-13 20:43
2008.06.29
Филосовский вопрос


2-1212313498
alex-drob
2008-06-01 13:44
2008.06.29
Как обьеденить две области памяти


3-1200635835
Anatoly Podgoretsky
2008-01-18 08:57
2008.06.29
Несколько LEFT JOIN в Акцесс


15-1210763844
@!!ex
2008-05-14 15:17
2008.06.29
тесселяция выпуклого многоугольника.


2-1212261234
Вася
2008-05-31 23:13
2008.06.29
Помогите!!!