Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Начинка
0 / 0 / 0
Регистрация: 02.09.2016
Сообщений: 6
#1

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

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

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


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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.09.2016, 19:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Куча ошибок в заголовочных файлах,вызванных из windows.h! (C++):

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

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

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

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

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

Статические свойства структур в заголовочных файлах - C++
Всем привет. Не могу найти в интернете инфу о том, как ведут себя статические свойства структур определённых в заголовочных файлах и...

11
mishelle92
64 / 63 / 21
Регистрация: 09.10.2012
Сообщений: 204
Завершенные тесты: 1
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
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6521 / 3160 / 311
Регистрация: 04.12.2011
Сообщений: 8,762
Записей в блоге: 5
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
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6521 / 3160 / 311
Регистрация: 04.12.2011
Сообщений: 8,762
Записей в блоге: 5
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
castaway
Эксперт С++
4919 / 3027 / 372
Регистрация: 10.11.2010
Сообщений: 11,085
Записей в блоге: 10
Завершенные тесты: 1
05.09.2016, 18:54 #8
Оригиналы заголовочных файлов VS12 находятся в VS12.
0
Начинка
0 / 0 / 0
Регистрация: 02.09.2016
Сообщений: 6
05.09.2016, 19:00  [ТС] #9
Исправленные оригиналы больше не оригиналы,а переустановка не помогла.
0
mishelle92
64 / 63 / 21
Регистрация: 09.10.2012
Сообщений: 204
Завершенные тесты: 1
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
zss
Модератор
Эксперт С++
6627 / 6189 / 2047
Регистрация: 18.12.2011
Сообщений: 16,134
Завершенные тесты: 1
06.09.2016, 08:20 #12
Цитата Сообщение от Начинка Посмотреть сообщение
переустановка не помогла
Надо сначала полностью снести старую версию, а только потом переустановить.
Если не поможет, то плохой дистрибутив. Ищите другой!
0
06.09.2016, 08:20
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.09.2016, 08:20
Привет! Вот еще темы с ответами:

Объявлние классов в разных заголовочных файлах - C++
Приветствую всех участников форума. Есть 2 класса А и В. Каждый из содержит указатель на другой класс. Как сделать объявление классов в...

Использование указателей на контейнеры STL в заголовочных файлах - C++
Для использования указателей на I/O классы достаточно включить &lt;iosfwd&gt; который содержит опережающие объявления и таким образом появляется...

Куча непонятных ошибок - C++
Вот код: #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; int main() { std::ifstream ifs(&quot;test.txt&quot;,...

Куча ошибок. Как исправить? - C++
Только начал разбираться с наследованием и виртуальными функциями. Поэтому не отказался бы от некоторой помощи. Вот мой код, который...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.