Linking...
ViewPanelLeft.obj : error LNK2005: "struct TABLE *  DXTable" (?DXTable@@3PAUTABLE@@A) already defined in DutCallCenter.obj
ViewPanelLeft.obj : error LNK2005: "struct TABLE *  MSITable" (?MSITable@@3PAUTABLE@@A) already defined in DutCallCenter.obj
ViewPanelLeft.obj : error LNK2005: "short  tailptr_MSIEventInfo" (?tailptr_MSIEventInfo@@3FA) already defined in DutCallCenter.obj

解决方案 »

  1.   

    use mfc in a shared dll 
    然后把link里面所有的lib都去掉
      

  2.   

    看来是你的一些变量定义放在一个头文件中,把它们放在CPP中就可以解决了
      

  3.   

    我觉得你是定义这个的头件前面少了#pragma once,导致头文件被重复包含。
      

  4.   

    定义冲突了,用#pragm once试试
      

  5.   

    头文件循环包含试着用#pragm once
      

  6.   

    头文件互相包含的错误!用#pragm once试试
      

  7.   

    在一个.cpp中定义TABLE *  DXTable或者是其他的变量,在一个.h中用extern TABLE *  DXTable;别的.cpp用的时候,包含这个.和就可以了
      

  8.   

    sorry, 拉了一个子:是别的.cpp用的时候,包含那个.h就可以
      

  9.   

    en ,看来就是循环调用头文件造成的。
    不过现在还没有别的办法啊?
    真是要命了~!!!!谢谢各位的回答。
    不过问题到现在还是没有解决。to:laiyiling(最熟悉的陌生人)。.lib文件怎么删掉?详细介绍一下?
    初学,别见怪/
      

  10.   

    在文件窗口,选中那个lib,点delete键;在setting中的link里面删掉楼主能把这几个变量怎么定义的说明一下吗?
      

  11.   

    变量的声明(相当多)放在一个.h 文件里了。比如叫a.h
    b.cpp include a.h
    c.cpp include a.h ,b.h
    然后就出现了这些问题。
      

  12.   

    最好这样,定义 CString g_strTest;b.cpp中CString g_strTest;
    b.h中extern CString g_strTest;
    其他文件要用这个全局变量的时候,只有include "b.h"就行了