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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.71
boyboy61
2 / 2 / 0
Регистрация: 07.06.2012
Сообщений: 39
#1

winnt.h(5545) : error C2146: что за ошибка ? - C++

28.09.2012, 11:29. Просмотров 2382. Ответов 13
Метки нет (Все метки)

c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(5545) : error C2146: syntax error : missing ';' before identifier 'ContextRecord'
c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(5545) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(5545) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(11263) : error C2065: 'PCONTEXT' : undeclared identifier
c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(11264) : error C2146: syntax error : missing ')' before identifier 'ContextRecord'
c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(11264) : warning C4229: anachronism used : modifiers on data are ignored
c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(11264) : error C2182: 'RtlCaptureContext' : illegal use of type 'void'
c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(11264) : error C2491: 'RtlCaptureContext' : definition of dllimport data not allowed
c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(11264) : error C2059: syntax error : ')'
c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(12935) : error C3861: '__readfsdword': identifier not found
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2012, 11:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос winnt.h(5545) : error C2146: что за ошибка ? (C++):

Ошибка error C2146: syntax error : missing ';' before identifier 'alph' - C++
Не получается откомпилировать прогу из консоля в MFC, выбивает ошибку error C2146: syntax error : missing ';' before identifier 'alph' ...

Error C2146 - C++
Использую Visual Studio 2013 Ultimate. Не знаю, как понятно написать словами то, что имею в виду, поэтому начну с кода. В проекте...

CFilename и error C2146 - C++
Пробовал #include <filename.h>. (Файл последней версии NCBI C++ ToolKit). Тоже самое. Проект старый. Библиотеки, инклуд файлы и подобное...

error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "fprot" - C++
помогите, пожалуйсти исправить ошибки!!! #include <iostream> #include <fstream> #include <string.h> #include <conio.h> ...

Ошибка при подключении winnt.h - C++
Доброго времени суток. Есть текст программы, который работает правильно. Шифрует введенную с клавиатуры строку ну и выдает на экран...

ERROR что обозначает ошибка - C++
Что обозначает такие ошибки и как их справить ERROR требуется выражение ERROR требуется указать на функцию(Указатель функции) ERROR...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
severus-x
18 / 18 / 0
Регистрация: 21.09.2012
Сообщений: 78
28.09.2012, 11:33 #2
код в студию
инклуды может не в том порядке стоят?
0
boyboy61
2 / 2 / 0
Регистрация: 07.06.2012
Сообщений: 39
28.09.2012, 11:49  [ТС] #3
plugin.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "stdafx.h"
#include "NPString.h"
 
CNPString::CNPString(NPString npString) : m_pszData(0), m_len(0)
{
    Set( npString.UTF8Characters, npString.UTF8Length );
}
 
CNPString::CNPString(LPCTSTR psz, int len) : m_pszData(0), m_len(0)
{
    Set( psz, len );
}
 
CNPString::~CNPString()
{
    delete m_pszData;
}
plugin.cpp

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
#ifdef XP_WIN
#include <windows.h>
#include <stdio.h>
#include <windowsx.h>
#endif
 
#ifdef XP_MAC
#include <TextEdit.h>
#endif
 
#ifdef XP_UNIX
#include <string.h>
#endif
 
#include "plugin.h"
#include "npfunctions.h"
 
//kk: convinience 
#include "NPString.h"
 
void* NPN_MemAlloc(LPCTSTR psz)
{
    int size = strlen( psz );
 
    void * rv = NPN_MemAlloc(size);
 
    strcpy( (char*) rv, psz );
 
    return rv;
}
 
static NPIdentifier sFoo_id;
static NPIdentifier sBar_id;
static NPIdentifier sDocument_id;
static NPIdentifier sBody_id;
static NPIdentifier sCreateElement_id;
static NPIdentifier sCreateTextNode_id;
static NPIdentifier sAppendChild_id;
static NPIdentifier sPluginType_id;
static NPObject *sWindowObj;
 
// Helper class that can be used to map calls to the NPObject hooks
// into virtual methods on instances of classes that derive from thisclass.
class ScriptablePluginObjectBase : public NPObject
{
public:
  ScriptablePluginObjectBase(NPP npp) : mNpp(npp)
  {
  }
 
  virtual ~ScriptablePluginObjectBase()
  {
  }
...............................
0
boyboy61
2 / 2 / 0
Регистрация: 07.06.2012
Сообщений: 39
28.09.2012, 11:51  [ТС] #4
Вот сам проект!
0
Вложения
Тип файла: rar npruntime.rar (260.0 Кб, 5 просмотров)
severus-x
18 / 18 / 0
Регистрация: 21.09.2012
Сообщений: 78
28.09.2012, 12:09 #5
Попробуй обновить студию, или:
на заграничном форуме нашел инфу:
Edit the file winnt.h yourself but be careful. Better you backup the file first. You can see that the error message complains first about missing ';' before identifier 'PVOID64' at line 222 in the file "c:\program files\microsoft visual studio 8\vc\platformsdk\include\winnt.h" so you can go and edit it but only after you have backup of the original file so you can restore it if the editing creates more problems than it solves. It seems that keyword "default-int" should be defined somewhere. You can change it to plain "int" like the compiler suggests but it may also create an avalanche: lots of compiler errors elsewhere. Just try out.
В ручную модифицируй файл winnt.h, там в 222 строке перед PVOID64 отсутствует ";"
0
boyboy61
2 / 2 / 0
Регистрация: 07.06.2012
Сообщений: 39
28.09.2012, 12:23  [ТС] #6
Цитата Сообщение от severus-x Посмотреть сообщение
Попробуй обновить студию, или:
на заграничном форуме нашел инфу:

В ручную модифицируй файл winnt.h, там в 222 строке перед PVOID64 отсутствует ";"

а именно где ?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
................
#ifdef DEPRECATE_DDK_FUNCTIONS
#ifdef _NTDDK_
#define DECLSPEC_DEPRECATED_DDK DECLSPEC_DEPRECATED
#ifdef DEPRECATE_SUPPORTED
#define PRAGMA_DEPRECATED_DDK 1
#endif
#else
#define DECLSPEC_DEPRECATED_DDK
#define PRAGMA_DEPRECATED_DDK 1
#endif
#else
#define DECLSPEC_DEPRECATED_DDK
#define PRAGMA_DEPRECATED_DDK 0
#endif
....................
0
severus-x
18 / 18 / 0
Регистрация: 21.09.2012
Сообщений: 78
28.09.2012, 12:25 #7
c:\program files\microsoft visual studio 8\vc\platformsdk\include\winnt.h вот в этом файле.
только если у тебя другая версия студии, то будет не 8, а № твоей версии.
1
boyboy61
2 / 2 / 0
Регистрация: 07.06.2012
Сообщений: 39
28.09.2012, 12:35  [ТС] #8
Цитата Сообщение от severus-x Посмотреть сообщение
c:\program files\microsoft visual studio 8\vc\platformsdk\include\winnt.h вот в этом файле.
только если у тебя другая версия студии, то будет не 8, а № твоей версии.

фаил я нашел "C:\Program Files\Microsoft SDKs\Windows\v6.0A\Includeэwinnt.h"

http://*************/s/2lm1J

там не просто добавит?
0
severus-x
18 / 18 / 0
Регистрация: 21.09.2012
Сообщений: 78
28.09.2012, 12:38 #9
boyboy61,
http://*************/s/2lm1J

там не просто добавит?
не понял
0
boyboy61
2 / 2 / 0
Регистрация: 07.06.2012
Сообщений: 39
28.09.2012, 12:39  [ТС] #10
это из msdn.

line 222 in winnt.h reads like this:

typedef void * POINTER_64 PVOID64;

and creates the error message

Error C2146: syntax error: missing ';' before identifier PVOID64.


а у меня error C2146: syntax error : missing ';' before identifier 'ContextRecord' ?
0
severus-x
18 / 18 / 0
Регистрация: 21.09.2012
Сообщений: 78
28.09.2012, 12:41 #11
Перед чем у тебя не хватает ";", перед тем и поставь)
0
boyboy61
2 / 2 / 0
Регистрация: 07.06.2012
Сообщений: 39
28.09.2012, 12:42  [ТС] #12
Цитата Сообщение от severus-x Посмотреть сообщение
boyboy61,

не понял
222 сртока это здес...а тут?
0
Миниатюры
winnt.h(5545) : error C2146:  что за ошибка ?  
severus-x
18 / 18 / 0
Регистрация: 21.09.2012
Сообщений: 78
28.09.2012, 12:45 #13
значит поставь перед ContextRecord

про 222 строку я из примера с загран.форума перевел.
0
boyboy61
2 / 2 / 0
Регистрация: 07.06.2012
Сообщений: 39
28.09.2012, 13:15  [ТС] #14
неаааааааа

не помагает!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.09.2012, 13:15
Привет! Вот еще темы с ответами:

Подскажите что за ошибка - error C4430: - C++
#include &quot;iostream&quot; #include &quot;math.h&quot; using namespace std; #define n 5 main() { int A,i,count, p = 1; cout&lt;&lt;&quot;Введите...

Что за ошибка(Linker error: Undesined symbol) - C++
Linker error: Undesined symbol proizv (float near*near*, float near*near*, int, float near*near*) in module ... #include&lt;stdio.h&gt; ...

Что значит ошибка error C2660: strcpy_s: функция не принимает 2 аргументов? - C++
Доброго времени суток! Вёл простенький код из книги Лафоре. Компилятор выдаёт ошибку error C2660: strcpy_s: функция не принимает 2...

Ошибка в тестовом примере: "Error 1 error C2143: syntax error : missing ';' before 'if'" - C++
#include&lt;iostream&gt; using namespace std; int main(){ int x, a = 0, b = 10; (cin &gt;&gt; x).get(); while (x){ int c = x % 10; ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
28.09.2012, 13:15
Ответ Создать тему
Опции темы

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