В pelles c windows.h не компилируется - PullRequest
2 голосов
/ 27 марта 2011

Я использую гранулы c.когда я компилирую этот код:

#include <windows.h>
#include <stdio.h>

void main(void)
{
   printf("Hello World");
}

я получаю эту ошибку:

D:\Program Files\PellesC\Include\Win\basetsd.h(53): error #2001: Syntax error: expected ';' but found 'INT64'.
D:\Program Files\PellesC\Include\Win\basetsd.h(53): warning #2099: Missing type specifier; assuming 'int'.
D:\Program Files\PellesC\Include\Win\basetsd.h(57): error #2120: Redeclaration of '__int64', previously declared at D:\Program Files\PellesC\Include\Win\basetsd.h(53); expected 'int' but found 'unsigned int'.
D:\Program Files\PellesC\Include\Win\basetsd.h(57): error #2001: Syntax error: expected ';' but found 'UINT64'.
D:\Program Files\PellesC\Include\Win\basetsd.h(57): warning #2099: Missing type specifier; assuming 'int'.
D:\Program Files\PellesC\Include\Win\winnt.h(558): fatal error #1014: #error: "No target architecture".

спасибо за вашу помощь.

Ответы [ 3 ]

12 голосов
/ 28 марта 2011

Чтобы использовать windows.h в PellesC, необходимо перейти к:

  • Проект -> Параметры проекта -> Компилятор
  • Проверка: Включить расширения Microsoft
0 голосов
/ 28 февраля 2013
  1. Инициализируйте вашу программу, используя int main(void), а не void main(void)
  2. Вы пропустили свое заявление о возвращении return(0); непосредственно перед вашей последней скобкой. Вы должны включить это, иначе вы получите синтаксическую ошибку, потому что ваша программа не знает, когда прекратить работу.

Затем выполните следующее

  1. В раскрывающемся меню выберите Project, затем прокрутите вниз и выберите «Параметры проекта».
  2. Выберите вкладку Compiler и убедитесь, что в поле Calling conv: выбрано _cdecl.
  3. Нажмите на вкладку linker и убедитесь, что в поле subsystem установлен тип Console.

Попробуйте построить его снова и посмотрите, что получится!

0 голосов
/ 28 марта 2011

Вам не хватает некоторых #define s, которые всегда определяют другие компиляторы (например, Visual Studio). Они предоставляют важную информацию об архитектуре процессора, версии ОС, версии SDK и т. Д.

Вероятно, лучше посмотреть документацию Microsoft о том, какие макросы определяет их компилятор, и сделать то же самое.

Эта страница может быть хорошей отправной точкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...