重新问一个老问题:先谢谢大家了。我建了一个静态库myLIB.lib,其中使用了MFC。   
    
  在一个GUI模式的程序中引用myLIB.lib,编译,链接,运行,一切都正常。   
    
  在一个CONSOLE模式的控制台程序中引用myLIB.lib,编译通过,链接出错:   
  nafxcwd.lib(afxmem.obj)   :   error   LNK2005:   "public:   static   void   __stdcall   CObject::operator   delete(void   *)"   (??3CObject@@SGXPAX@Z)   already   defined   in   MyLIB.lib(ChatServer.obj)   
  在project   setting中ignore   library中指定忽略nafxcwd.lib等,没用。   
    
  本控制台程序并未使用MFC。是myLIB的头文件中引用了MFC。   
  我想办法在myLIB.h中去掉所有关于MFC的头文件。再去掉一个HWND变量的定义,然后控制台程序就可正常编译,链接,运行。可实现GUI程序里大部分功能。   
    
  但如果去掉了这个HWND变量会使我的静态库损失一个重要功能。   
  加上HWND变量,我的静态态库myLIB.lib编译出错,指出HWND未定义。   
  若加windows.h就指出MFC与windows.h不可共存。   what   the   $#%^#%#$%^#$%   
  将HWND定义为LONG,也出错。   
    
  不能加AFX.H,不能加WINDOWS.H,那么我要到哪里去找这个该死的HWND的定义?它的定义在哪个H文件中?