Форум: "Прочее";
Текущий архив: 2008.06.29;
Скачать: [xml.tar.bz2];
ВнизПомогите справится с 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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.05 c