Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.013 c
3-1201091924
homm
2008-01-23 15:38
2008.06.29
SQL. Надо обрезать символы пробельной группы


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


15-1210977956
Draw
2008-05-17 02:45
2008.06.29
Чем заменить Canvas.CopyRect ?


2-1212563351
VovKul
2008-06-04 11:09
2008.06.29
Проблема загрузки шрифта


3-1201071521
O.O
2008-01-23 09:58
2008.06.29
Изменение вычисляемого поля




   Наверх