'GetWindowLongPtr' : undeclared identifier

Общие вопросы, не зависящие от языка реализации.

Модераторы: Duncon, Eugie, Romeo, Hawk

Ответить
toshas
Сообщения: 3
Зарегистрирован: 02 июл 2004, 16:38

02 июл 2004, 16:48

Проблемма в следующем: Пытаюсь скомпилировать примеры из книги Джеффри Рихтера Windows для проффесионалов
в MSVC 6.0 и получаю ошибки
Compiling...
ErrorShow.cpp
You are not using the latest Platform SDK header/library
files. This may prevent the project from building correctly.
d:\program files\programming applications\cmnhdr.h(213) : error C2065: 'GetWindowLongPtr' : undeclared identifier
d:\program files\programming applications\cmnhdr.h(213) : error C2065: 'GWLP_HINSTANCE' : undeclared identifier
d:\program files\programming applications\01-errorshow\errorshow.cpp(83) : error C2065: 'PCTSTR' : undeclared identifier
d:\program files\programming applications\01-errorshow\errorshow.cpp(83) : error C2146: syntax error : missing ')' before identifier 'LocalLock'
d:\program files\programming applications\01-errorshow\errorshow.cpp(83) : error C2059: syntax error : ')'
d:\program files\programming applications\01-errorshow\errorshow.cpp(125) : error C2664: 'DialogBoxParamA' : cannot convert parameter 4 from 'long (struct HWND__ *,unsigned int,unsigned int,long)' to 'int (__stdcall *)(struct HWND__ *,unsigned int,u
nsigned int,long)'
None of the functions with this name in scope match the target type
Error executing cl.exe.
01 ErrorShow.exe - 6 error(s), 0 warning(s)

что делать, помогите пожалуйста
DeeJayC
Сообщения: 492
Зарегистрирован: 17 фев 2004, 11:26
Откуда: Ленинград (который Город на Неве)
Контактная информация:

02 июл 2004, 17:13

you are not using the latest Platform SDK header/library.
Какая версия SDK? ( Видимо, с книжкой идёт )
"Особое внимание начинающих аквариумистов хотим обратить на то, что рыбки никогда не спят на спинке!" (c)

viel spass, DeeJayC
toshas
Сообщения: 3
Зарегистрирован: 02 июл 2004, 16:38

02 июл 2004, 19:12

нет с книгой ничего нет, а как определить версию sdk?
может поставить VC7.0?
Аватара пользователя
Stealth Legion
Сообщения: 13
Зарегистрирован: 21 июл 2007, 15:10
Откуда: Преисподня

23 июл 2007, 20:14

toshas писал(а):Проблемма в следующем: Пытаюсь скомпилировать примеры из книги Джеффри Рихтера Windows для проффесионалов
в MSVC 6.0 и получаю ошибки
.....
что делать, помогите пожалуйста
Что за PCTSTR? Что-т я такого типа данных не встречал...
Последняя ошибка - не совпадает тип данны указателя функции

необходимо импользовать:

#define WINVER 0x0501
#define _WIN32
#define _WIN32_WINNT 0x0501
#include "windows.h"

P.S. Купи себе MS Visual Studio 2005-ую (8 версия - она куда круче...меньше ошибок, дополнения и обновления : я вот пишу и не эалуюсь...);
Аватара пользователя
Romeo
Сообщения: 3091
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

23 июл 2007, 20:55

Вообще-то типа PCTSTR действительно не существует, есть тип LPCTSTR.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
BBB
Сообщения: 1272
Зарегистрирован: 27 дек 2005, 13:37

24 июл 2007, 09:33

Про функцию GetWindowLongPtr в MSDN в частности читаем:

Requirements:
Windows NT/2000/XP: Included in Windows NT 3.1 and later.
Windows 95/98/Me: Included in Windows 95 and later.
Header: Declared in Winuser.h; include Windows.h.
Library: Use User32.lib.
Unicode: Implemented as Unicode and ANSI versions on Windows NT/2000/XP.

Т.е. функция имеется даже в Win95. Так что в данном случае проблема явно не в "использовании устаревшей среды программирования".
Ответить