Frage

Ich verwende Pelles C.wenn ich diesen Code kompiliere:

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

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

Ich erhalte diesen Fehler:

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".

Vielen Dank für Ihre Hilfe.

War es hilfreich?

Lösung

Um den generakodicetagcode in windows.h verwenden zu können, müssen Sie auf:

    .
  • Projekt -> Projektoptionen -> Compiler
  • Check: Microsoft Extensions aktivieren

Andere Tipps

Dir fehlen einige #defines welche anderen Compiler (z.B.Visual Studio) immer definieren.Sie liefern wesentliche Informationen über die Prozessorarchitektur, die Betriebssystemversion, die SDK-Version usw.

Es ist wahrscheinlich am besten, in der Microsoft-Dokumentation nachzuschlagen, welche Makros der Compiler definiert, und dasselbe zu tun.

Das Seite könnte ein guter Ausgangspunkt sein.

  1. Initialisieren Sie Ihr Programm mit int main(void) und nicht void main(void)
  2. Ihnen fehlt Ihre Rückgabeerklärung von return(0); kurz vor Ihrer letzten Klammer.Sie müssen dies einschließen, sonst erhalten Sie einen Syntaxfehler, da Ihr Programm nicht weiß, wann die Ausführung beendet werden soll.

Dann gehen Sie wie folgt vor

  1. Wählen Sie in Ihrer Pulldown-Menüleiste die Option aus Project Scrollen Sie dann nach unten und wählen Sie „Projektoptionen“.
  2. Wähle aus Compiler Registerkarte und stellen Sie sicher, dass die Calling conv: Box hat _cdecl ausgewählt.
  3. Klick auf das linker Registerkarte und stellen Sie sicher, dass in der subsystem Feld, auf das der Typ eingestellt ist Console.

Versuchen Sie es erneut und sehen Sie, was passiert!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top