dポイントプレゼントキャンペーン実施中!

Error: 外部シンボル 'WinMain' が未解決(C:\BORLAND\BCC55\LIB\C0W32.OBJ が参照)とエラーが出るんですが、そもそも外部シンボル 'WinMain' とは何ですか?

文字数が超えるのでソースは載せれませんが・・・、
}

A 回答 (4件)

-tW オプションが指定されているようですが、必要ありません。



bcc32 prog.c

でいいです。
    • good
    • 0

ソースプログラムの内容は分かりました。

やはりWinMainがないのですね。

そうすると、コンパイル時にWin32 GUIアプリケーション作成のためのオプションが指定されているはずなので、それを外せばよいはずなのですが、コンパイル時はどのようなオプションを指定していますか。
    • good
    • 0

ボーランドのことはまったく知らないのですが、


クラスライブラリを使っているとWinMain関数が隠蔽されて組み込まれていることがあります。それを使わないでプログラム作成する場合にはWinMainを自前で実装する必要が出てきます。
もしかするとボーランドでもクラスライブラリが準備されていて、普段をそれを使ってプログラムされているのではないでしょうか?
もしそうなら、クラスライブラリを使う形でリンクしなおせば直るとおもわれます。
    • good
    • 0

Win32用プログラムを作成していて、関数WinMainを書いていないのではないですか。


Win32用プログラムを作成する場合、通常は関数WinMainから実行を開始するので、関数WinMainがない場合はリンク時にエラーとなります。

この回答への補足

include <stdio.h>
#include <time.h>
#include <stdlib.h>

//ジャンケンゲーム
main () {
int player, computer;
int p_win = 0; //プレイヤーの勝ち数をカウントする変数
int p_lose = 0; //プレイヤーの負け数をカウントする変数 
int p_draw = 0; //引き分けの回数をカウントする変数
int limit = 5;
int i;

printf("【%d回勝負ジャンケンゲーム】\n",limit);
srand(time(NULL));

for(i = 0; i < limit; i++) {
printf("ジャンケン・・・(グー:1 チョキ:2 パー:3を入力)>");

player = 0;
scanf("%d", &player);
while(getchar() != '\n') { }

computer = rand()%3 + 1;
printf("コンピュターは");
switch (computer) {
case 1 : printf("グー");
break;
case 2 : printf("チョキ");
break;
case 3 :printf("パー");
break;
default: break;
}
printf("! ");

if(computer == player) {
printf("あいこ\n");
p_draw++;
} else if(computer == 2 && player == 1){
printf("プレイヤーの勝ち\n");
p_win++;
} else if(computer == 3 && player == 2){
printf("プレイヤーの勝ち\n");
p_win++;
} else if(computer == 1 && player == 3){
printf("プレイヤーの勝ち\n");
p_win++;
} else if(computer == 1 && player == 2){
printf("コンピューターの勝ち\n");
p_lose++;
} else if(computer == 2 && player == 3){
printf("コンピューターの勝ち\n");
p_lose++;
} else if(computer == 3 && player == 1){
printf("コンピューターの勝ち\n");
p_lose++;
} else {
printf("プレイヤーは不正な手を出した。\nコンピューターの勝ち");
p_lose++;
}
}

printf("\n%d勝%d敗%d引き分け",p_win,p_lose,p_draw);

if(p_win == p_lose) { printf("引き分け!\n");}
else if(p_win > p_lose) { printf("プレイヤーの勝利!\n");}
else { printf("コンピューターの勝利!\n");}
return 0;
}

ソースです

補足日時:2005/07/02 20:51
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!