Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Ошибки переопределения переменных


Автор: GipsySh 29.3.2012, 04:00
В проекте подключаю два заголовочных файла из поставки MS Visual Studio 8:
Код

#include <NTSecAPI.h>
#include <winternl.h>

При сборке проекта возникают ошибки, связанные с переопределением переменных в этих файлах:
Код

2>c:\program files (x86)\microsoft visual studio 8\vc\platformsdk\include\winternl.h(99) : error C2371: 'STRING' : redefinition; different basic types
2>        c:\program files (x86)\microsoft visual studio 8\vc\platformsdk\include\ntsecapi.h(2063) : see declaration of 'STRING'
2>c:\program files (x86)\microsoft visual studio 8\vc\platformsdk\include\winternl.h(114) : error C2371: 'UNICODE_STRING' : redefinition; different basic types
2>        c:\program files (x86)\microsoft visual studio 8\vc\platformsdk\include\ntsecapi.h(2062) : see declaration of 'UNICODE_STRING'

Как "подружить" эти два файла и решить проблему?
В интернете нашла только ситуации переопределения переменных в пользовательском коде (т.е. в том коде, который программист написал сам). 

Автор: GremlinProg 29.3.2012, 08:54
а одного:
Код

#define SECURITY_WIN32

перед windows.h, и :
Код

#include <security.h>

будет недостаточно?

Автор: GipsySh 29.3.2012, 11:36
В security.h нет определения нужной мне UNICODE_STRING :(
Поэтому, к сожалению, этот вариант не подходит.

Автор: userdab 30.3.2012, 09:40
Попробуйте решение, которое вам дали на форумах MSDN http://social.msdn.microsoft.com/Forums/ru-RU/vsru/thread/0739493c-bac2-4081-906b-650bbe0325ef

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)