エラーが取れません

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ついうくん

エラーが取れません

#1

投稿記事 by ついうくん » 11年前

[code]


#include "DxLib.h"

int px=320,py=240;
int y_tmp=0,y_prev=0;
bool p_flag=true;
char Key[256];
float speed=1.0f;
int mode=0;
int h_color=(255,0,0);
int color=GetColor(255,255,255);
int haikei,player[16];
int xcount=0,ycount=0;
int ix=0,iy=0,result=0;


void title(){

DrawGraph(0,0,haikei,FALSE);
DrawString(240,270,"ゲーム:G",color);
DrawString(240,290,"コンフィグ:c",color);
DrawString(240,310,"終了:esc",color);

if(Key[KEY_INPUT_G]==1) mode = 1;

if(Key[KEY_INPUT_C]==1) mode = 2;
}


void pmove(){
if(Key[KEY_INPUT_LEFT]==1||Key[KEY_INPUT_RIGHT==1]){
if(Key[KEY_INPUT_UP]==1 || Key[KEY_INPUT_DOWN] ==1){
speed=0.71f;
}else{
speed=1.0f;
}

}else if(Key[KEY_INPUT_UP]==1 || Key[KEY_INPUT_DOWN]==1){
speed=1.0f;
}

if(Key[KEY_INPUT_LEFT]==1){
px-=(int)4*speed;
}

if(Key[KEY_INPUT_RIGHT]==1){
px+=(int)4*speed;
}

if(px<=0) px=0;
else if(px>=640-18) px=640-18;

if(py<=0) py=0;
else if(py>=640-18) py=640-18;

if(p_flag==true){
y_tmp=py;
py+=(py-y_prev)+1;
y_prev=y_tmp;
if(py==360)
p_flag==false;
}

if(Key[KEY_INPUT_SPACE]==1&&p_flag==false){
p_flag=1;
y_prev=py;
py=py-20;
}

if(Key[KEY_INPUT_LEFT]==1){
if(xcount>0)
xcount=0;
xcount--;

}

if(Key[KEY_INPUT_RIGHT]){
if(xcount<0)
xcount=0;
xcount++;
}

ix=abs(xcount)%30/10;
iy=abs(ycount)%30/10;

if(xcount>0){
ix+=3;
result=ix;
}else
if(xcount<0){
ix+=9;
result=ix;
}

DrawGraph(px,py,player[result],TRUE);

if(Key[KEY_INPUT_LEFT]!=1&&Key[KEY_INPUT_RIGHT]!=1)
xcount=0;

DrawString(0,0,"M:メニュー画面",color);

if(Key[KEY_INPUT_M]==1) mode=0;
}


int WINAPI WinMaion( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
ChangeWindowMode(TRUE);

if( DxLib_Init() == -1 ) return -1;

LoadDivGraph("キャラクタ10.png",16,4,4,32,32,player);
haikei=LoadGraph("メニュー背景.png");

SetDrawScreen( DX_SCREEN_BACK );

while(1){
ClearDrawScreen();
GetHitKeyStateAll(Key);

switch(mode){
case 0:
title();
break;
case 1:
pmove();
break;
default:
DxLib_End();
return 0;
break;
}

if(ProcessMessage()==-1) break;
ScreenFlip();

}

DxLib_End();
return 0;

}



[/code]



LIBCMTD.lib(wincrt0.obj) : error LNK2019: 未解決の外部シンボル _WinMain@16 が関数 ___tmainCRTStartup で参照されました。


\Users\test\Downloads\GameProg\GameProg\Debug\GameProg.exe : fatal error LNK1120: 外部参照 1 が未解決です。

これを実行すると、このようなエラーが出て、いっこもとれません、何が原因なんでしょうか?

nation

Re: エラーが取れません

#2

投稿記事 by nation » 11年前

このエラーは、○○という関数が呼ばれたけどその中身が無い時に出るエラーです。
今回の場合、WinMain関数が無い、と言うことになります。
もう一度自分のコードをよく見直してみましょう。
些細なミスほど気付きにくいものです。

ついうくん

Re: エラーが取れません

#3

投稿記事 by ついうくん » 11年前

以前はコレでも実行できたのですが、、、


このプロジェクトのある場所がおかしい、という可能性などあったりしますか?

box
記事: 2002
登録日時: 14年前

Re: エラーが取れません

#4

投稿記事 by box » 11年前

ついうくん さんが書きました:

コード:

int WINAPI WinMaion( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
関数の名前が間違っているように見えます。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: エラーが取れません

#5

投稿記事 by softya(ソフト屋) » 11年前

プログラミングでの最大の敵は思い込みです。「合っている」と思い込むことで簡単にワナにハマります。
自分のコードを出来るだけ第三者の視点でみるようにしましょう。

>以前はコレでも実行できたのですが、、、
そんな事は絶対にありません。関数名を間違っています。

【補足】
codeタグの間違いはプレビューを使うことで事前確認できますので、確認をお願いします。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ついうくん

Re: エラーが取れません

#6

投稿記事 by ついうくん » 11年前

すみません、ありがとうございました


int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){

このようにすると、うまくいきました。

閉鎖

“C言語何でも質問掲示板” へ戻る