1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

помогите настроить DirectDraw7

Тема в разделе "WASM.DirectX", создана пользователем AntonS0099, 13 ноя 2011.

  1. AntonS0099

    AntonS0099 New Member

    Публикаций:
    0
    Регистрация:
    13 ноя 2011
    Сообщения:
    2
    Седьмая версия ,как я понял, является последней.
    Создание интерфейса DirectDraw проблем не вызывает
    Объявление :
    LPDIRECTDRAW lpDD;
    LPDIRECTDRAWSURFACE PrimarySurf;
    LPDIRECTDRAWSURFACE SecondarySurf;
    и так далее.

    rezult = DirectDrawCreate(NULL, &lpDD, NULL );

    проблем не вызывает.

    но при объявлении:


    LPDIRECTDRAW7 lpDD;
    LPDIRECTDRAWSURFACE7 PrimarySurf;
    LPDIRECTDRAWSURFACE7 SecondarySurf;
    и так далее.

    rezult = (DirectDrawCreateEx(NULL,(void **)&lpDD, IID_IDirectDraw7 ,NULL);

    константу IID_IDirectDraw7 не видит .

    Compiling resources...
    Compiling...
    StdAfx.cpp
    Compiling...
    Direct.cpp
    DirectDlg.cpp
    DirectDraw.cpp
    ErrorDirectDraw.cpp
    Generating Code...
    Linking...
    DirectDraw.obj : error LNK2001: unresolved external symbol _IID_IDirectDraw7
    Debug/Direct.exe : fatal error LNK1120: 1 unresolved externals
    Error executing link.exe.

    Direct.exe - 2 error(s), 0 warning(s)

    Возможно ее надо объявить как extern , но не могу понять ее тип.
    при переходе " Go to Difinition" VC отправляет к определению в файле ddraw.h
    DEFINE_GUID( IID_IDirectDraw7, 0x15e65ec0,0x3b9c,0x11d2,0xb9,0x2f,0x00,0x60,0x97,0x97,0xea,0x5b );

    Объявление функции DirectDrawCreateEx
    extern HRESULT WINAPI DirectDrawCreateEx( GUID FAR * lpGuid, LPVOID *lplpDD, REFIID iid,IUnknown FAR *pUnkOuter );

    Мои познания в VC++ весьма скромны , а хотелось бы разобраться что к чему.
     
  2. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
  3. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Видит. Не видит символ IID_IDirectDraw7
     
  4. AntonS0099

    AntonS0099 New Member

    Публикаций:
    0
    Регистрация:
    13 ноя 2011
    Сообщения:
    2
    Подключение библиотек не помогает. Странно то, что первая версия DirectDraw работает без проблем. Это наводит на мысль, что с настройками все в порядке. VC++ все что надо находит. В книге Бориса Пахомова "C/C++ и MS Visual C++ 2010 для начинающих "
    по поводу переменных объявленных в файлах подключаемых через include написанно
    писать :extern int a ; -это понятно . Есть предположение ,что с константами также.
    Но здесь такое определение константы, что не ясно как это изложить в понятную для ком-
    пилятора форму.