Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/29: Рейтинг темы: голосов - 29, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 02.09.2016
Сообщений: 6
1

Куча ошибок в заголовочных файлах,вызванных из windows.h!

02.09.2016, 19:04. Показов 5608. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
с чем это может быть связано? этот же код без всяких изменений уже компилировался и работал...


1> Исходный код.cpp
1>c:\program files\windows kits\8.0\include\um\winnt.h(290): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "PVOID64"
1>c:\program files\windows kits\8.0\include\um\winnt.h(290): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>c:\program files\windows kits\8.0\include\um\winnt.h(8988): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "Buffer"
1>c:\program files\windows kits\8.0\include\um\winnt.h(8988): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>c:\program files\windows kits\8.0\include\um\synchapi.h(866): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "SYNCHRONIZATION_BARRIER"
1>c:\program files\windows kits\8.0\include\um\synchapi.h(866): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>c:\program files\windows kits\8.0\include\um\synchapi.h(867): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "PSYNCHRONIZATION_BARRIER"
1>c:\program files\windows kits\8.0\include\um\synchapi.h(867): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>c:\program files\windows kits\8.0\include\um\processthreadsapi.h(769): error C2065: PROCESS_MITIGATION_POLICY: необъявленный идентификатор
1>c:\program files\windows kits\8.0\include\um\processthreadsapi.h(769): error C2146: синтаксическая ошибка: отсутствие ")" перед идентификатором "MitigationPolicy"
1>c:\program files\windows kits\8.0\include\um\processthreadsapi.h(769): warning C4229: устаревший элемент: пропуск модификаторов для данных
1>c:\program files\windows kits\8.0\include\um\processthreadsapi.h(769): error C2491: SetProcessMitigationPolicy: определение dllimport данные не разрешено
1>c:\program files\windows kits\8.0\include\um\processthreadsapi.h(772): error C2059: синтаксическая ошибка: )
1>c:\program files\windows kits\8.0\include\um\processthreadsapi.h(780): error C2061: синтаксическая ошибка: идентификатор "PROCESS_MITIGATION_POLICY"
1>c:\program files\windows kits\8.0\include\um\threadpoollegacyapiset.h(79): error C2061: синтаксическая ошибка: идентификатор "WAITORTIMERCALLBACK"
1>c:\program files\windows kits\8.0\include\um\securitybaseapi.h(368): error C2061: синтаксическая ошибка: идентификатор "PCLAIM_SECURITY_ATTRIBUTES_INFORMATION"
1>c:\program files\windows kits\8.0\include\um\winbase.h(4964): error C2065: PFIRMWARE_TYPE: необъявленный идентификатор
1>c:\program files\windows kits\8.0\include\um\winbase.h(4965): error C2146: синтаксическая ошибка: отсутствие ")" перед идентификатором "FirmwareType"
1>c:\program files\windows kits\8.0\include\um\winbase.h(4965): warning C4229: устаревший элемент: пропуск модификаторов для данных
1>c:\program files\windows kits\8.0\include\um\winbase.h(4965): error C2491: GetFirmwareType: определение dllimport данные не разрешено
1>c:\program files\windows kits\8.0\include\um\winbase.h(4965): error C2059: синтаксическая ошибка: )
1>c:\program files\windows kits\8.0\include\um\winbase.h(8406): error C2061: синтаксическая ошибка: идентификатор "WAITORTIMERCALLBACK"
1>c:\program files\windows kits\8.0\include\um\winbase.h(8434): error C2061: синтаксическая ошибка: идентификатор "WAITORTIMERCALLBACK"
1>c:\program files\windows kits\8.0\include\um\winbase.h(9758): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "FileId"
1>c:\program files\windows kits\8.0\include\um\winbase.h(9758): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>c:\program files\windows kits\8.0\include\um\winbase.h(9777): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "FileId"
1>c:\program files\windows kits\8.0\include\um\winbase.h(9777): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>c:\program files\windows kits\8.0\include\um\winbase.h(9899): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "ExtendedFileId"
1>c:\program files\windows kits\8.0\include\um\winbase.h(9899): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>c:\program files\windows kits\8.0\include\um\winioctl.h(5164): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "FileReferenceNumber"
1>c:\program files\windows kits\8.0\include\um\winioctl.h(5164): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
1>c:\program files\windows kits\8.0\include\um\winioctl.h(5165): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "ParentFileReferenceNumber"
1>c:\program files\windows kits\8.0\include\um\winioctl.h(5165): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.09.2016, 19:04
Ответы с готовыми решениями:

Про добавление заголовочных файлов в заголовочных файлах
В который раз эта вещь засовывает мозги в блендер! Я про то, что не могу однозначно запомнить...

Windows 10 Anniversary Update и куча ошибок
Привет всему форуму! Кароче у меня тут целая головоломка получаться... Не так давно вышло...

Куча ошибок при старте Windows, бесконечная реклама, и китайский антивирусник
Доброго времени суток, случилась беда установили приложение. И тут понеслось, привет мейл ру и...

Константы в заголовочных файлах
declare.h #pragma once extern const size_t rows; extern const size_t cols; double...

11
73 / 69 / 38
Регистрация: 09.10.2012
Сообщений: 238
02.09.2016, 23:17 2
Покажите код, который компилируете.
0
0 / 0 / 0
Регистрация: 02.09.2016
Сообщений: 6
03.09.2016, 07:59  [ТС] 3
код пока крайне пуст


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
const  int MYWidth = 1280;
const  int MYHeight = 1024;
// Включаемые файлы
#include "Верхний колонтитул.h"
HWND hWnd;
 
HINSTANCE g_hInst;
HWND g_hWnd;
 
#define WNDWIDTH 400
#define WNDHEIGHT 400
#define WNDTYPE WS_OVERLAPPEDWINDOW
const char g_szClass[] = "FrameClass";
const char g_szCaption[] = "FrameCaption";
 
 
int PASCAL WinMain(HINSTANCE hInst, HINSTANCE hPrev,LPSTR szCmdLine, int nCmdShow);
 
void AppError(BOOL Fatal, char *Text, ...);
long FAR PASCAL WindowProc(HWND hWnd, UINT uMsg,WPARAM wParam, LPARAM lParam);
BOOL RegisterWindowClasses(HINSTANCE hInst);
BOOL UnregisterWindowClasses(HINSTANCE hInst);
HWND CreateMainWindow(HINSTANCE hInst);
BOOL DoInit();
BOOL DoShutdown();
BOOL DoPreFrame();
BOOL DoFrame();
BOOL DoPostFrame();
 
 
 
int PASCAL WinMain(HINSTANCE hInst, HINSTANCE hPrev,LPSTR szCmdLine, int nCmdShow)
{
  MSG Msg;
  g_hInst = hInst;
 
  if(RegisterWindowClasses(hInst) == FALSE)
    return FALSE;
 
  if((g_hWnd = CreateMainWindow(hInst)) == NULL)
    return FALSE;
  if(DoInit() == TRUE) {
 
    ZeroMemory(&Msg, sizeof(MSG));
    while(Msg.message != WM_QUIT) {
      if(PeekMessage(&Msg, NULL, 0, 0, PM_REMOVE)) {
        TranslateMessage(&Msg);
        DispatchMessage(&Msg);}
      else 
      {
        if(DoPreFrame() == FALSE)
          break;
        if(DoFrame() == FALSE)
          break;
        if(DoPostFrame() == FALSE)
          break;
      }
    }
  }
 
  DoShutdown();
  UnregisterWindowClasses(hInst);
  return TRUE;
}
BOOL RegisterWindowClasses(HINSTANCE hInst)
{
  WNDCLASSEX wcex;
// Создание и регистрация класса окна
  wcex.cbSize = sizeof(wcex);
  wcex.style = CS_CLASSDC;
  wcex.lpfnWndProc = WindowProc;
  wcex.cbClsExtra = 0;
  wcex.cbWndExtra = 0;
  wcex.hInstance = hInst;
  wcex.hIcon = LoadIcon(NULL, IDI_APPLICATION);
  wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
  wcex.hbrBackground = NULL;
  wcex.lpszMenuName = NULL;
  wcex.lpszClassName = g_szClass;
  wcex.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
  if(!RegisterClassEx(&wcex))
  return FALSE;
  return TRUE;
}
BOOL UnregisterWindowClasses(HINSTANCE hInst)
{
  UnregisterClass(g_szClass, hInst);
  return TRUE;
}
HWND CreateMainWindow(HINSTANCE hInst)
{
  hWnd = CreateWindow(g_szClass, g_szCaption,WNDTYPE, 0, 0, WNDWIDTH, WNDHEIGHT,NULL, NULL, hInst, NULL);
  if(!hWnd)
    return NULL;
 
  ShowWindow(hWnd, SW_NORMAL);
  UpdateWindow(hWnd);
 
  return hWnd;
}
void AppError(BOOL Fatal, char *Text, ...)
{
  char CaptionText[12];
  char ErrorText[2048];
  va_list valist;
 
  if(Fatal == FALSE)
    strcpy(CaptionText, "Error");
  else
    strcpy(CaptionText, "Fatal Error");
 
  va_start(valist, Text);
  vsprintf(ErrorText, Text, valist);
  va_end(valist);
 
  MessageBox(NULL, ErrorText, CaptionText,MB_OK | MB_ICONEXCLAMATION);
  if(Fatal == TRUE)
    PostQuitMessage(0);
}
long FAR PASCAL WindowProc(HWND hWnd, UINT uMsg,WPARAM wParam, LPARAM lParam)
{
  switch(uMsg) {
    case WM_DESTROY:
    PostQuitMessage(0);
    return 0;
  }
  return DefWindowProc(hWnd, uMsg, wParam, lParam);
}
 
BOOL DoInit()
{
 
  D3DPRESENT_PARAMETERS d3dpp;
  
  IDirect3D9* _d3d9;
 
  if((_d3d9 = Direct3DCreate9(D3D_SDK_VERSION)) == NULL) {
// Произошла ошибка
}
  _d3d9 = Direct3DCreate9(D3D_SDK_VERSION);
  D3DDISPLAYMODE d3ddm;
  d3ddm.Width = 640;
  d3ddm.Height = 480;
  d3ddm.RefreshRate = 0; // по умолчанию
  d3ddm.Format = D3DFMT_A8R8G8B8;
  D3DFORMAT d3df;
 
 
  ZeroMemory(&d3dpp, sizeof(D3DPRESENT_PARAMETERS));
 
  d3dpp.BackBufferWidth            = 800;
  d3dpp.BackBufferHeight           = 600;
  d3dpp.BackBufferFormat           = D3DFMT_A8R8G8B8; //формат пикселей
  d3dpp.BackBufferCount            = 1;
  d3dpp.MultiSampleType            = D3DMULTISAMPLE_NONE;
  d3dpp.MultiSampleQuality         = 0;
  d3dpp.SwapEffect                 = D3DSWAPEFFECT_DISCARD;
  d3dpp.hDeviceWindow              = g_hWnd;
  d3dpp.Windowed                   = false; // полноэкранный режим
  d3dpp.EnableAutoDepthStencil     = true;
  d3dpp.AutoDepthStencilFormat     = D3DFMT_D24S8; // формат буфера глубины
  d3dpp.Flags                      = 0;
  d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
  d3dpp.PresentationInterval       = D3DPRESENT_INTERVAL_IMMEDIATE;
 
 
 
 
 
 
 
}
BOOL DoShutdown()
{
// ничего
 
  return TRUE;
}
BOOL DoPreFrame()
{
// ничего
  return TRUE;
}
BOOL DoFrame()
{
// ничего
    return TRUE;
}
BOOL DoPostFrame()
{
//ничего
  return TRUE;
}
Добавлено через 8 минут
ми заголовочный файл:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#pragma comment(lib, "comctl32.lib")
#pragma comment(lib, "D3D9.lib")
#pragma comment(lib, "D3DX.lib")
#pragma comment (lib, "OpenGL32.lib")
#pragma comment (lib, "GLu32.lib")
 
 
#include <Windows.h>
#include <stdio.h>
#include <stdarg.h>
#include <D3D9.H>
#include <D3D9Types.h>
#include <d3dx9math.h>
#include <Winerror.h>
0
Комп_Оратор)
Эксперт по математике/физике
8950 / 4704 / 629
Регистрация: 04.12.2011
Сообщений: 13,999
Записей в блоге: 16
04.09.2016, 17:23 4
BOOL DoInit() ничего не возвращает. Но ругается на 290 строку \windows kits\8.0\include\um\winnt.h(290): а вы показываете по 193-ю.
0
0 / 0 / 0
Регистрация: 02.09.2016
Сообщений: 6
04.09.2016, 21:26  [ТС] 5
В исходном коде у меня ещё всего 193 строки ... это черновик...
0
Комп_Оратор)
Эксперт по математике/физике
8950 / 4704 / 629
Регистрация: 04.12.2011
Сообщений: 13,999
Записей в блоге: 16
04.09.2016, 21:45 6
Цитата Сообщение от Начинка Посмотреть сообщение
В исходном коде у меня ещё всего 193 строки ...
Хоть где. Важно что пишет компилятор и что вы показываете. И если он пишет что ошибка в строке №a файла winnt.h а вы показываете другое, то что же искать?
И в том файле если вы решили что-то поправить, то сможете кому угодно и чего угодно посоветовать сами. А 290-я строка там может выглядеть как-то так:
C++
1
#  define __C89_NAMELESSUNIONNAME7
посмотрите:
https://source.winehq.org/source/include/winnt.h
0
0 / 0 / 0
Регистрация: 02.09.2016
Сообщений: 6
05.09.2016, 17:19  [ТС] 7
кажется,я нашёл проблему

да и решение тут есть
Итак ,вопрос сводится к тому,где найти оригиналы заголовочных файлов для vs12?)

хм. сделаем так: www. programmersforum. ru /showthread.php?t=294059
0
Эксперт С++
4985 / 3092 / 456
Регистрация: 10.11.2010
Сообщений: 11,169
Записей в блоге: 10
05.09.2016, 18:54 8
Оригиналы заголовочных файлов VS12 находятся в VS12.
0
0 / 0 / 0
Регистрация: 02.09.2016
Сообщений: 6
05.09.2016, 19:00  [ТС] 9
Исправленные оригиналы больше не оригиналы,а переустановка не помогла.
0
73 / 69 / 38
Регистрация: 09.10.2012
Сообщений: 238
05.09.2016, 22:16 10
Начинка, начните с простого. Такой код скомпилируется у вас?

C++
1
2
3
4
5
6
#include <windows.h>
 
int main()
{
    return 0;
}
Добавлено через 2 минуты
М.б. не студию стоило переустанавливать, а Windows SDK.
0
0 / 0 / 0
Регистрация: 02.09.2016
Сообщений: 6
05.09.2016, 23:07  [ТС] 11
методом проб было выявлено,что все ошибки вызывает "windows.h",то есть такой код не скомпилируется
0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,719
06.09.2016, 08:20 12
Цитата Сообщение от Начинка Посмотреть сообщение
переустановка не помогла
Надо сначала полностью снести старую версию, а только потом переустановить.
Если не поможет, то плохой дистрибутив. Ищите другой!
0
06.09.2016, 08:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.09.2016, 08:20
Помогаю со студенческими работами здесь

Массивы в заголовочных файлах
в заголовочном файле в описании класса пишу: int _const_iMas = {0x63,0x7c,0x78,0x79}; В...

О стандартных заголовочных файлах
Не знаю в какую категорию отнести данное нубство, но все же: Часто использую некоторые...

Определение переменных в заголовочных файлах
Здорова! Определил переменную в заголовочном фале от так #pragma once #ifndef...

Линковка, реализация в заголовочных файлах
Ситуация следующая. Представим себет хедер, который содержит некоторый функционал и должен...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru