2

私はペレス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".

ご協力いただきありがとうございます。

4

3 に答える 3

14

で使用するにはwindows.h、次のPellesC場所に移動する必要があります。

  • プロジェクト -> プロジェクト オプション -> コンパイラ
  • チェック: Microsoft 拡張機能を有効にする
于 2011-03-28T17:44:49.730 に答える
0

#define他のコンパイラ (Visual Studio など) が常に定義する s がいくつかありません。これらは、プロセッサ アーキテクチャ、OS バージョン、SDK バージョンなどに関する重要な情報を提供します。

コンパイラが定義するマクロについて Microsoft のドキュメントを調べて、同じことを行うのがおそらく最善です。

このページは、良い出発点になる可能性があります。

于 2011-03-27T20:08:26.060 に答える
-2
  1. int main(void)を使用してプログラムを初期化するvoid main(void)
  2. return(0);最後の括弧の直前の return ステートメントがありません。これを含める必要があります。そうしないと、プログラムが実行を停止するタイミングがわからないため、構文エラーが発生します。

次に、次の操作を行います

  1. プルダウン メニュー バーから選択しProject、下にスクロールして [プロジェクト オプション] を選択します。
  2. Compilerタブを選択し、Calling conv:ボックスが_cdecl選択されていることを確認します。
  3. linkerタブをクリックし、subsystemボックスでタイプが に設定されていることを確認しますConsole

もう一度ビルドしてみて、何が起こるか見てみましょう!

于 2013-02-28T04:47:28.323 に答える