Re: VC2008: error 2460
От: Pavel Dvorkin Россия  
Дата: 11.02.11 07:55
Оценка:
Здравствуйте, geekay604, Вы писали:

G>есть SDK к некоей плате ввода-вывода, в driver.h есть объявление:


G>typedef struct _DRIVERINFO

G>{
G> struct _DRIVERINFO far * pNext; // next device info. address
G> ULONG ulDeviceNum; // device number
G> HGLOBAL hDriverInfo; // driver info. handle
G> USHORT usUsageCount; // usage count
G> HINSTANCE hDriverInstance; // driver instance handle
G> FARPROC lpfnDriverEntry; // driver entry address
G> LONG hDeviceInfo; // deivce info. (Lock data)
G>} DRIVERINFO, FAR * LPDRIVERINFO;


G>студия сообщает на это в числе прочего:


G>c:\program files\advantech\adsapi\include\driver.h(1023) : error C2460: '_DRIVERINFO::far' : uses '_DRIVERINFO', which is being defined

G> c:\program files\advantech\adsapi\include\driver.h(1022) : see declaration of '_DRIVERINFO'

G>что нужно сделать? по идее, компилиться должно...



#include "stdafx.h"
#include "windows.h"

typedef struct _DRIVERINFO
{
struct _DRIVERINFO far * pNext; // next device info. address
ULONG ulDeviceNum; // device number
HGLOBAL hDriverInfo; // driver info. handle
USHORT usUsageCount; // usage count
HINSTANCE hDriverInstance; // driver instance handle
FARPROC lpfnDriverEntry; // driver entry address
LONG hDeviceInfo; // deivce info. (Lock data)
} DRIVERINFO, FAR * LPDRIVERINFO;


int _tmain(int argc, _TCHAR* argv[])
{
    return 0;
}



компилируется под VS2008 без проблем.
Правда, после компиляции AVG заявил, что получившийся EXE содержит вирус .

Попробуй сделать то же, включив свой driver.h и убрав описание этой структуры из моего примера.

Какая студия, кстати ?
With best regards
Pavel Dvorkin
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.