1. ホーム
  2. c

[解決済み] WinMain@16' への未定義の参照 collect2.exe: エラー: ld は 1 の終了ステータスを返しました。

2022-02-08 12:06:41

質問

eclipse CDTを使ってIntelのインストラクションをテストしていますが、以下は私のプログラムです。

#define cpuid(func,ax,bx,cx,dx)\
__asm__ __volatile__ ("cpuid":\
 "=a" (ax), "=b" (bx), "=c" (cx), "=d" (dx) : "a" (func));
int Check_CPU_support_AES()
 {
 unsigned int a,b,c,d;
 cpuid(1, a,b,c,d);
 return (c & 0x2000000);
 }

上記のコードをコンパイルすると、次のようなリンケージエラーが発生します。

Info: Internal Builder is used for build
gcc -O0 -g3 -Wall -c -fmessage-length=0 -o "src\\Intel.o" "..\\src\\Intel.c" 
gcc -o Intel.exe "src\\Intel.o" 
c:/mingw/bin/../lib/gcc/mingw32/4.7.2/../../../libmingw32.a(main.o):main.c:(.text.startup+0xa7): undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status

この問題に関して助けてください。

解決方法は?

あなたのプログラムはまだ完成していません。 OSが期待するエントリーポイントを実装する必要があります。 あなたの場合、それは以下のように呼ばれるようです。 WinMain .