crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> [msvc] Ошибки компиляции, winnt.h
igor_bogomolov
  опции профиля:
сообщение 27.12.2010, 2:38
Сообщение #1


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Установил впервые в жизни Microsoft Visual Studio 10 express.
Пытаюсь скомпилировать простенькое приложение, ничего не выходит, постоянно ругается на свой же файл winnt.h
Получаю следующие ошибки

Раскрывающийся текст

C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\winnt.h(6361): error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "ContextRecord"
C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\winnt.h(6361): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\winnt.h(6361): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\winnt.h(12983): error C2065: PCONTEXT: необъявленный идентификатор
C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\winnt.h(12984): error C2146: синтаксическая ошибка: отсутствие ")" перед идентификатором "ContextRecord"
C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\winnt.h(12984): warning C4229: устаревший элемент: пропуск модификаторов для данных
C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\winnt.h(12984): error C2182: RtlCaptureContext: недопустимое использование типа "void"
C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\winnt.h(12984): error C2491: RtlCaptureContext: определение dllimport данные не разрешено
C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\winnt.h(12984): error C2059: синтаксическая ошибка: )
C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\winnt.h(13372): error C2143: синтаксическая ошибка: отсутствие ";" перед "__stdcall"
C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\winnt.h(13372): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\winnt.h(13376): error C4430: отсутствует спецификатор типа - предполагается int. Примечание. C++ не поддерживает int по умолчанию
C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\winnt.h(14982): error C3861: __readfsdword: идентификатор не найден

Как с этим бороться?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Алексей1153
  опции профиля:
сообщение 27.12.2010, 21:59
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Цитата(ufna @ 27.12.2010, 23:40) *
По первому пункту скорее важен порядок инклюдов в самой студии, хотя не помню уже

если студия ругается так

Цитата(igor_bogomolov @ 27.12.2010, 4:38) *
C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "ContextRecord"

это она не находит тип этой переменной. Тогда ставим курсор на тип, жмём F12 - попадаем в заголовочник. Копируем имя его, вставляем перед использованием типа (ну, естественно, желательно в реализацию). И так до профита - иногда долго надо посидеть
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.11.2024, 21:14