Здравствуйте CC, Вы писали:
CC>Здравствуйте OlegO, Вы писали:
OO>>Здравствуйте CC, Вы писали:
CC>>>Здравствуйте Brother, Вы писали:
CC>>>Вообщем работаю с ДиректИкс.
CC>>>cpp — файл
CC>>>#include "StdAfx.h"
CC>>>#include "defs.h"
CC>>>хидер defs.h
CC>>>#ifndef DEFS_H
CC>>>#define DEFS_H
CC>>>HWND hWnd = NULL;
CC>>>LPDIRECTDRAW g_lpDD = NULL; // указатель на девайс
CC>>>LPDIRECTDRAWSURFACE g_lpSPrimary = NULL; // поверхности: первичная и бэк
CC>>>LPDIRECTDRAWSURFACE g_lpSBack = NULL;
CC>>>#endif
OO>>во-первых в заголвке нет включений на файлы с объявлением LPDIRECTDRAW.
OO>>во-вторых насколько я помню, переменные как таковые не получится определить в загловке Visual C++,
OO>>поэтому пишем, так: (должно заработать)
OO>>OO>>//хидер defs.h
OO>>#ifndef DEFS_H
OO>>#define DEFS_H
OO>>#incluide <ddraw.h> // где лежит LPDIRECTDRAW, LPDIRECTDRAWSURFACE
OO>>extern HWND hWnd;
OO>>extern LPDIRECTDRAW g_lpDD; // указатель на девайс
OO>>extern LPDIRECTDRAWSURFACE g_lpSPrimary; // поверхности: первичная и бэк
OO>>extern LPDIRECTDRAWSURFACE;
OO>>#endif
OO>>
OO>>OO>>//cpp - файл
OO>>#include "StdAfx.h"
OO>>#include "defs.h"
OO>>HWND hWnd = NULL;
OO>>LPDIRECTDRAW g_lpDD = NULL; // указатель на девайс
OO>>LPDIRECTDRAWSURFACE g_lpSPrimary = NULL; // поверхности: первичная и бэк
OO>>LPDIRECTDRAWSURFACE g_lpSBack = NULL;
OO>>
CC>а что это за extern и зачем он нужен?
Оно говорит, другим модулям при компиляции, что где-то есть определение этих переменных
и они будут установленны на этапе линковки.