WDK & Visual Studio 2010
От: Аноним  
Дата: 21.09.10 18:43
Оценка:
Последняя студия и последний WDK — как подружить? Трюк Неббитта не проходит. При попытке подключить ntddk.h в консольном проекте:

/ZI /nologo /W3 /WX- /Od /Oy- /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /GS /fp:precise /Zc:wchar_t /Zc:forScope /Yu"StdAfx.h" /Fp"Debug\test.pch" /Fa"Debug\" /Fo"Debug\" /Fd"Debug\vc100.pdb" /Gd /analyze- /errorReport:queue

пути настроены так, чтобы цеплялись хидеры из WDK, а SDK подавлялись
$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WDK7600)inc\api;$(WDK7600)inc\ddk

stdafx.h

#define _X86_
#define _NT_TARGET_VERSION 0x501
#include <sdkddkver.h>

#define WIN32_NO_STATUS
#include <windows.h>
#undef  WIN32_NO_STATUS

namespace NT 
{

extern "C" 
{

#pragma warning(disable: 4005)  // macro redefinition
#include <ntddk.h>
#pragma warning(default: 4005)

}

}


вылезают редефинишны:

:\winddk\7600.16385.1\inc\ddk\wdm.h(3308): error C2371: 'NT::PSECURITY_QUALITY_OF_SERVICE' : redefinition; different basic types
c:\winddk\7600.16385.1\inc\ddk\wdm.h(87) : see declaration of 'NT::PSECURITY_QUALITY_OF_SERVICE'
c:\winddk\7600.16385.1\inc\ddk\wdm.h(8840): error C2144: syntax error : 'int' should be preceded by ';'
c:\winddk\7600.16385.1\inc\ddk\wdm.h(8840): error C4430: missing type specifier — int assumed. Note: C++ does not support default-int
c:\winddk\7600.16385.1\inc\ddk\wdm.h(8840): error C2143: syntax error : missing ';' before '__stdcall'
c:\winddk\7600.16385.1\inc\ddk\wdm.h(8840): error C2433: 'LARGE_INTEGER' : 'inline' not permitted on data declarations
c:\winddk\7600.16385.1\inc\ddk\wdm.h(8840): error C4430: missing type specifier — int assumed. Note: C++ does not support default-int
c:\winddk\7600.16385.1\inc\ddk\wdm.h(8840): error C2377: 'NT::LARGE_INTEGER' : redefinition; typedef cannot be overloaded with any other symbol
c:\winddk\7600.16385.1\inc\api\ntdef.h(944) : see declaration of 'NT::LARGE_INTEGER'
c:\winddk\7600.16385.1\inc\ddk\wdm.h(8844): error C4430: missing type specifier — int assumed. Note: C++ does not support default-int
c:\winddk\7600.16385.1\inc\ddk\wdm.h(8845): error C2146: syntax error : missing ';' before identifier 'Result'
c:\winddk\7600.16385.1\inc\ddk\wdm.h(8845): error C2065: 'Result' : undeclared identifier
c:\winddk\7600.16385.1\inc\ddk\wdm.h(8847): error C2065: 'Result' : undeclared identifier
c:\winddk\7600.16385.1\inc\ddk\wdm.h(8847): error C2228: left of '.QuadPart' must have class/struct/union
type is ''unknown-type''

видимо, надо поставить какие-то дефайны? у кого-нибудь есть какие-то мысли? или готовое решение?
спасибо
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.