1>main.obj : error LNK2005: "void __cdecl MAKETOWN(void)" (?MAKETOWN@@YAXXZ) は既に make town.obj で定義されています。
1>C:\Documents and Settings\ti\My Documents\Visual Studio 2005\DxLib_VC\サンプルプログラム実行用フォルダ\Debug\DxLib_VC2005用.exe : fatal error LNK1169: 1 つ以上の複数回定義されているシンボルが見つかりました。
[2] 環境
[2.1] OS : Windows XP Home
[2.2] コンパイラ名 : VC++ 2005SE
[3] その他
・基本的なことはわかっているとおもいます
・DxLib.hを使用しています
ソースコードです
main.cpp
//#include "DxLib.h" #include "make town.cpp" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){ // 画面モードの変更 SetGraphMode( 320 , 320 , 16 ) ; if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1; //ウィンドウ化と初期化処理 SetDrawScreen( DX_SCREEN_BACK ) ; //描画先を裏画面に設定 void MAKETOWN(void); DxLib_End(); return 0; } make town.cpp #include "DxLib.h" //街生成 //void MAKETOWN(void); void MAKETOWN(void) { int cr_x=16,cr_y=38;//位置の初期値 int image,cr1; char Key[256]; int i,j; image = LoadGraph( "1138.obp" ) ; SetTransColor( 255 , 0 , 255 ) ;//透過させたいファイルを読む前に透過色を設定する必要アリ cr1 = LoadGraph( "cr.obp" ); //画像を分割してimage配列に保存 i=96;//xの初期値 j=432;//yの初期値 while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll( Key ) && !Key[KEY_INPUT_ESCAPE]){ //↑メッセージ処理 ↑画面をクリア ↑キーボード入力状態取得 ↑ESCが押されると終了 //for(j=1; i<16; j++){ //j=x I=y if( Key[ KEY_INPUT_UP ] == 1 ){ //上ボタンが押されたら if(ariahan_hantei[cr_y-1][cr_x]==0 || ariahan_hantei[cr_y-1][cr_x]==3)//許可もしくはマップ切り替えなら { j=j-16; cr_y=cr_y-1; WaitTimer( 50 ) ;//動作がはやいので0.5秒まつ } } if( Key[ KEY_INPUT_LEFT ] == 1 ){ //左ボタンが押されたら if(ariahan_hantei[cr_y][cr_x-1]==0) { //if(i%16==0) //i--; i=i-16; cr_x=cr_x-1; WaitTimer( 50 ) ;//動作がはやいので0.5秒まつ } } if( Key[ KEY_INPUT_DOWN ] == 1 ){ //下ボタンが押されたら if(ariahan_hantei[cr_y+1][cr_x]==0) { j=j+16; cr_y=cr_y+1; WaitTimer( 50 ) ;//動作がはやいので0.5秒まつ } } if( Key[ KEY_INPUT_RIGHT ] == 1 ){ //右ボタンが押されたら if(ariahan_hantei[cr_y][cr_x+1]==0) { i=i+16; cr_x=cr_x+1; WaitTimer( 50 ) ;//動作がはやいので0.5秒まつ } } DrawRectGraph( 0, 0, i, j, 320, 320, image, TRUE, FALSE ) ;//x=0y=0の位置にimageのx128y640から320づつ描写 DrawRectGraph( 160, 160, 0, 0, 16, 24, cr1, TRUE, FALSE ) ; //中央にキャラ描写 ScreenFlip();//裏画面を表画面に反映 //return 0; } }
1>main.obj : error LNK2005: "void __cdecl MAKETOWN(void)" (?MAKETOWN@@YAXXZ) は既に make town.obj で定義されています。
1>C:\Documents and Settings\ti\My Documents\Visual Studio 2005\DxLib_VC\サンプルプログラム実行用フォルダ\Debug\DxLib_VC2005用.exe : fatal error LNK1169: 1 つ以上の複数回定義されているシンボルが見つかりました。
[2] 環境
[2.1] OS : Windows XP Home
[2.2] コンパイラ名 : VC++ 2005SE
[3] その他
・基本的なことはわかっているとおもいます
・DxLib.hを使用しています
MAKETOWNが原因でリンクエラーがでているのだとおもうのですが原因がわかりません原因と思われる場所をどう直せばいいか教えてください