1>TankMain.obj : error LNK2005: "struct HDC__ * offhdc" (?offhdc@@3PAUHDC__@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "int tank_vx" (?tank_vx@@3HA) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "unsigned long diff_time" (?diff_time@@3KA) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "int tank_vy" (?tank_vy@@3HA) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "unsigned long start_time" (?start_time@@3KA) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "int tank_now_dir" (?tank_now_dir@@3HA) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "int mytank_life" (?mytank_life@@3HA) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct linkqueue MyBomLQ" (?MyBomLQ@@3Ulinkqueue@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct tagRECT tank_rt" (?tank_rt@@3UtagRECT@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct HBITMAP__ * tk_exp_bitmap" (?tk_exp_bitmap@@3PAUHBITMAP__@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct IDirectDraw7 * lpDD" (?lpDD@@3PAUIDirectDraw7@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct tagRECT v_bom_rt" (?v_bom_rt@@3UtagRECT@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct IDirectDrawSurface7 * lpDDSPrimary" (?lpDDSPrimary@@3PAUIDirectDrawSurface7@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct IDirectDrawSurface7 * lpDDSBack" (?lpDDSBack@@3PAUIDirectDrawSurface7@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct tagRECT exp_rt" (?exp_rt@@3UtagRECT@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct HBITMAP__ * bom_bitmap" (?bom_bitmap@@3PAUHBITMAP__@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "int tank_last_dir" (?tank_last_dir@@3HA) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct tagRECT h_bom_rt" (?h_bom_rt@@3UtagRECT@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct IDirectDrawSurface7 * * lpDDSOff" (?lpDDSOff@@3PAPAUIDirectDrawSurface7@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct HDC__ * grasshdc" (?grasshdc@@3PAUHDC__@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct _DDSCAPS2 ddscaps" (?ddscaps@@3U_DDSCAPS2@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct HWND__ * hwnd" (?hwnd@@3PAUHWND__@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct tagRECT bg_rt" (?bg_rt@@3UtagRECT@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct HDC__ * tk_exphdc" (?tk_exphdc@@3PAUHDC__@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct HDC__ * bomhdc" (?bomhdc@@3PAUHDC__@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct HDC__ * exphdc" (?exphdc@@3PAUHDC__@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct HBITMAP__ * tank_bitmap" (?tank_bitmap@@3PAUHBITMAP__@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct linkqueue EnemyBomLQ" (?EnemyBomLQ@@3Ulinkqueue@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct tanklinkqu EnemyTankLQ" (?EnemyTankLQ@@3Utanklinkqu@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct HBITMAP__ * exp_bitmap" (?exp_bitmap@@3PAUHBITMAP__@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct explinkqu BomExpLQ" (?BomExpLQ@@3Uexplinkqu@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "int flag" (?flag@@3HA) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct explinkqu TankExpLQ" (?TankExpLQ@@3Uexplinkqu@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct tagRECT tk_exp_rt" (?tk_exp_rt@@3UtagRECT@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct _DDSURFACEDESC2 ddsd" (?ddsd@@3U_DDSURFACEDESC2@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct HDC__ * bghdc" (?bghdc@@3PAUHDC__@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct HBITMAP__ * bg_bitmap" (?bg_bitmap@@3PAUHBITMAP__@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct HBITMAP__ * grass_bitmap" (?grass_bitmap@@3PAUHBITMAP__@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct HBITMAP__ * walls_bitmap" (?walls_bitmap@@3PAUHBITMAP__@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "int x" (?x@@3HA) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct HDC__ * wallshdc" (?wallshdc@@3PAUHDC__@@A) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "long result" (?result@@3JA) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "int y" (?y@@3HA) 已经在 Tank.obj 中定义
1>TankMain.obj : error LNK2005: "struct HDC__ * tankhdc" (?tankhdc@@3PAUHDC__@@A) 已经在 Tank.obj 中定义
1>LINK : warning LNK4199: 已忽略 /DELAYLOAD:OleAcc.dll;未找到来自 OleAcc.dll 的导入
1>D:\myTanl\Debug\myTank.exe : fatal error LNK1169: 找到一个或多个多重定义的符号
1>生成日志保存在“file://d:\myTanl\myTanl\Debug\BuildLog.htm”
1>myTank - 45 个错误,1 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

解决方案 »

  1.   

    头文件重复包含错误。
    用其中任意一个,比如struct HDC__ * offhdc搜索出该。h文件。
    然后,加上:#ifndef TEST_H
    #define TEST_H
    //该文件的内容
    #endif
     
      

  2.   

    首先找到struct HDC__ * offhdc;int tank_vx;unsigned long diff_time;
    在哪个头文件中定义了,假如你的这些变量在头文件"Test.h"中定义了,则有两种解决方法:
    1.在Test.h头文件的最上方加上预处理指令:#pragma once 
    这个表示只编译这个头文件一次。
    2.将头文件Test.h中所有的Code放入下面的语句之中:
    #ifndef Test_H
    #define Test_HCode#endif
    这两种方法都可以,用哪种,it depends on you!嘿嘿!
      

  3.   

    #pragma once  
    在偷吻件中加上
    #pragma once