Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > ошибка компиляции из-за файлов *.h из SDK


Автор: Roman1 17.4.2013, 15:25
Всем доброго времени суток. Пытаюсь собрать проект MPICH-3.0.3 (есть такой сайт mpich, но это не суть). 
Проект рабочий и должен, вроде бы, собираться. У меня он не пошел, поэтому иду по всем файлам проекта по отдельности.
Некоторые файлы проекта компилируются нормально, а 
при компиляции других выходит множество ошибок, вроде таких:
1>C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winnt.h(1202): error C2018: неизвестный знак "0x24"
1>C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winnt.h(1202): error C2061: синтаксическая ошибка: идентификатор "drv_group"
1>C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winnt.h(1202): error C2059: синтаксическая ошибка: ;
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winnt.h(1212): error C2085: EXCEPTION_ROUTINE: отсутствует в списке формальных параметров
1>C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winnt.h(1212): error C2143: синтаксическая ошибка: отсутствие ";" перед "*"
1>C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winnt.h(2235): error C2039: Header: не является членом "_XSAVE_AREA"
1>          C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winnt.h(2107): см. объявление "_XSAVE_AREA"
1>C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winnt.h(2235): error C2056: недопустимое выражение
1>C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winnt.h(2235): error C2466: невозможно выделить память для массива постоянного нулевого размера
1>C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\winnt.h(2235): error C2086: char __C_ASSERT__[1]: переопределение.

Ясно, что в файлах SDK ошибок нет. Прошу подсказать как от них избавиться. Использую МS VS 2010 Prof, лицензионную. Пробовал везде вставлять
#include <windows.h> и др., что часто советуют на форуме, но не помогло.
Спасибо.

Автор: math64 17.4.2013, 15:38
Смотри в файл, где сделано #include с первым сообщением, или в предудущем #include - ошибка там.
Системные заголовки лучше включать первыми.

Автор: Roman1 17.4.2013, 15:48
Да, действительно первым #include идет подключение собственного заголовочного файла из этого проекта. Пробовал 
перед ним подключить системные заголовочные файлы, но безрезультатно. А какого рода это может быть
ошибка?

Автор: math64 17.4.2013, 23:47
Ну, например, нет 0d-0a в конце вашего заголовка.
У или обычные - не хватает }, а обнаруживается в это в следующем заголовке.

Автор: volatile 17.4.2013, 23:57
проверьте включено ли М$ extensions.
очень похоже на то...
опция /Za. (или где-то в этом районе..) ее не должно быть

Автор: Roman1 18.4.2013, 07:53
Пришел на работу, /Za нашел, изменения не повлияли. Про остальное буду смотреть. Спасибо.

Автор: Roman1 20.4.2013, 10:11
Спросил у разработчиков проекта на форуме. Оказалось, что эта версия проекта вообще не пригодна для Windows. 
Судя по сообщениям, там таких же как я полно. А указания на это нигде на сайте нет. Ну не  сво...чи?
Всем спасибо за помощь. Я много нового узнал из Ваших сообщений и из попыток собрать этот проект.
Всем здоровья и удачи.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)