Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.08.03;
Скачать: CL | DM;

Вниз

NTSTATUS в С++   Найти похожие ветки 

 
Riply ©   (2008-06-17 02:53) [0]

Здравствуйте !
Пытаюсь в C++Builder`е "подключить" к проекту ntstatus.h
таким образом: #include "ntstatus.h".
Он глотает это дело и даже компилится, но при этом ругается совершенно нецензурным образом,
примерно так: [C++ Warning] ntstatus.h(228): W8017 Redefinition of "STATUS_PENDING" is not identical
(и таких заявлений довольно много).
Как бы мне его "успокоить" ?
Не в смысле отключить предупреждения, а не "переопределять" статусы ?


 
wicked ©   (2008-06-17 02:56) [1]

посмотреть, где они еще обьявляются - там должно указываться earlier definition


 
Riply ©   (2008-06-17 03:02) [2]

> [1] wicked ©   (17.06.08 02:56)
> посмотреть, где они еще обьявляются - там должно указываться earlier definition

Пыталась, но стандартный прием "удерживая Ctrl кликнуть" например, по STATUS_PENDING,
почему-то не хочет перебрасывать на его определение :(


 
palva ©   (2008-06-17 08:39) [3]

Если я правильно понял сообщение об ошибке, макрос STATUS_PENDING определяется где-то еще. Попробуйте сделать полнотекстовый поиск в директории INCLUDE бильдера, если в проекте не нашли.


 
AndreyV ©   (2008-06-17 09:05) [4]

Определены, например, в winnt.h->windef.h->windows.h->...->vcl.h


 
Ega23 ©   (2008-06-17 09:31) [5]


> Попробуйте сделать полнотекстовый поиск в директории INCLUDE
> бильдера, если в проекте не нашли.


Вот за эти ублюдочные хидеры и необходимость grep"ом шерстить по всем инклудам и прочим либам я и не люблю C.


 
AndreyV ©   (2008-06-17 09:39) [6]

> [0] Riply ©   (17.06.08 02:53)
> Пытаюсь в C++Builder`е "подключить" к проекту ntstatus.h
> таким образом: #include "ntstatus.h".

#include <ntstatus.h>
Может и не нужен он? И достаточно

> [4] AndreyV ©   (17.06.08 09:05)


 
Riply ©   (2008-06-17 16:47) [7]

Что-то я совсем перестала его (C++Builder) понимать:
По совету [6] AndreyV ©, попробовала заменить ntstatus.h на winnt.h
Проект вообще отказался компилироваться, залез внутрь winnt.h
и заявил, что там куча ошибок (самого разного типа: от нехватки , до двойной декларации).
Ну ладно, вернула ntstatus.h. Теперь он стал "билдится" без всяких "хинтов" и "варнингов".
Как прикажите понимать этого Саида ?
P.S.
Я не могу, случайно, своими экспериментами испортить "генофонд" ?
А то мне что-то не очень нравяться самоисчезающие "варнинги" :)


 
clickmaker ©   (2008-06-17 16:49) [8]

> А то мне что-то не очень нравяться самоисчезающие "варнинги"
> :)

возможно, дело в чем-то типа precompiled headers... не очень помню, как там в билдере


 
palva ©   (2008-06-17 16:51) [9]

От порядка директив #include может зависеть...


 
AndreyV ©   (2008-06-17 21:54) [10]

> [7] Riply ©   (17.06.08 16:47)
> По совету [6] AndreyV ©, попробовала заменить ntstatus.h на winnt.h

Я предлагал убрать включение <ntstatus.h>, заодно спрашивая тебя, нужно ли оно [включение] именно этого заголовка. См. [4] AndreyV ©   (17.06.08 09:05)

Покажи начало своих проблемных файлов с директивами "#include".


 
AndreyV ©   (2008-06-17 22:13) [11]

> [7] Riply ©   (17.06.08 16:47)
> Я не могу, случайно, своими экспериментами испортить "генофонд"

Заголовки испортить можешь. Восстанови с дистрибутива.


 
Riply ©   (2008-06-17 23:21) [12]

> [11] AndreyV ©   (17.06.08 22:13)
> Заголовки испортить можешь.

Вот обрадовал, так обрадовал :)

> Восстанови с дистрибутива.

Подразумевается переустановка BDS или это можно проделать и менее
болезненным способом ?


 
palva ©   (2008-06-18 00:10) [13]


> Заголовки испортить можешь. Восстанови с дистрибутива.

Пугаете?


 
AndreyV ©   (2008-06-18 05:13) [14]

> [13] palva ©   (18.06.08 00:10)
> Пугаете?

Отнюдь.
Ctrl+Enter на любом
#include имя_файла
или при ошибках может среда открыть для показа строки, и правь, затем сохраняй!

> Подразумевается переустановка BDS или это можно проделать
> и менее болезненным способом ?

Отсортируй по дате изменения и скопируй с дистрибутива соответствующие файлы.
Сделай весь каталог RO. Ничего страшного в этом нет. В BDS, правда, они в архивах с паролями, но вроде есть возможность востановления из инсталятора. Посмотрю сейчас.

Ты приведи таки то что я просил в

> [10] AndreyV ©   (17.06.08 21:54)


 
AndreyV ©   (2008-06-18 05:19) [15]

> [14] AndreyV ©   (18.06.08 05:13)

Да, есть Repair.


 
palva ©   (2008-06-18 09:51) [16]


> или при ошибках может среда открыть для показа строки, и
> правь, затем сохраняй!

Ага. Тогда надо всем установленным файлам дать атрибут "Только для чтения". На всякий случай. Ну это я пытаюсь мотать на ус чужой опыт.


 
AndreyV ©   (2008-06-18 12:33) [17]

> [16] palva ©   (18.06.08 09:51)
> Ага. Тогда надо всем установленным файлам дать атрибут "Только
> для чтения". На всякий случай. Ну это я пытаюсь мотать на
> ус чужой опыт.

Всем не надо, достаточно *.h *.hpp.



Страницы: 1 вся ветка

Текущий архив: 2008.08.03;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.016 c
2-1215332395
RealSwift
2008-07-06 12:19
2008.08.03
Thread creation error - Недостаточно памяти


15-1213627509
Viktor198
2008-06-16 18:45
2008.08.03
Помогите составить блок-схему для программы!!!


4-1193867321
Zuzlan
2007-11-01 00:48
2008.08.03
Альтернатива sleep


15-1213864819
Сергей_77
2008-06-19 12:40
2008.08.03
Виртуальная Машина


3-1203543509
Игорь Шевченко
2008-02-21 00:38
2008.08.03
Вывод мужских и женских имен. Oracle