adsiid.lib(guid.obj) : error LNK2005: _DBCOLUMN_ISAUTOINCREMENT already defined in uuid.lib(guids.obj)
adsiid.lib(guid.obj) : error LNK2005: _DBCOLUMN_HASDEFAULT already defined in uuid.lib(guids.obj)
adsiid.lib(guid.obj) : error LNK2005: _DBCOLUMN_DOMAINNAME already defined in uuid.lib(guids.obj)
adsiid.lib(guid.obj) : error LNK2005: _DBCOLUMN_DEFAULTVALUE already defined in uuid.lib(guids.obj)
adsiid.lib(guid.obj) : error LNK2005: _DBCOLUMN_COMPUTEMODE already defined in uuid.lib(guids.obj)
adsiid.lib(guid.obj) : error LNK2005: _DBCOLUMN_COLLATINGSEQUENCE already defined in uuid.lib(guids.obj)
adsiid.lib(guid.obj) : error LNK2005: _DBCOLUMN_BASETABLENAME already defined in uuid.lib(guids.obj)
adsiid.lib(guid.obj) : error LNK2005: _DBCOLUMN_BASECOLUMNNAME already defined in uuid.lib(guids.obj)以上编译错误怎么解决?
网上的解决方法是层出不穷,都试着做了,结果,有些方法是没有效果,有些方法衍生出更多的错误
苦闷!会不会是哪个细节没注意之类的,望大家建议一下,谢谢!

解决方案 »

  1.   

    是因为你的程序同时使用两种方式去引用lib库导致的,project-> setting-> lib里有uuid.lib和程序代码里有#pragram   comment   "uuid.lib" 
    去掉一个就可以
      

  2.   

    http://blog.csdn.net/tommy_cug/archive/2006/12/25/1459837.aspx
    http://dev.csdn.net/develop/article/66/66659.shtm试试看,如果衍生出更多的错误,这个就要看看是什么样的错误了
    不是说有更多的错误就说明方法无效,或者这些错误本来在于你的程序里面的呢
      

  3.   

    TO oldn_CC_bird 是因为你的程序同时使用两种方式去引用lib库导致的,project->   setting->   lib里有uuid.lib和程序代码里有#pragram       comment       "uuid.lib"   
    去掉一个就可以 
    --------------------------- 
    我在网上查说是多线程库(MFC)与单线程库混杂了,和那个没有关系吗?
      

  4.   

    Allen_zhang 大哥的内容我在MS上看到了,大致是一样,我是属于 第3种情况,
    本来程序是没有错误的,如果采用use MFC in a shared dll模式是可以编译通过也可以执行的
      

  5.   

    #include "stdafx.h"
    #include "dll.h"
    #include "dllDlg.h"#include   <comdef.h>  
    #include   <comutil.h>  #include   <Iads.h>   
    #include   <Adshlp.h>   
    #include   <activeds.h>   #pragma comment( lib, "comsupp.lib" )
    #pragma   comment(lib,"ActiveDS.lib")   
    //#pragma   comment(lib,"adsiid.lib") 
    这是我的顺序
      

  6.   

    现在调换为
          
    #include       <Adshlp.h>       
    #include       <activeds.h> #include   "stdafx.h" 
    #include   "dll.h" 
    #include   "dllDlg.h" #include       <comdef.h>     
    #include       <comutil.h>  
      
    #include       <Iads.h> 
    的话就没有连接错误了,不过Adshlp.h里面的函数用不了
    如果把#include       <Adshlp.h>放到最后的话连接错误就又出现了
      

  7.   

    为什么我mfc设置为静态连接,还是显示找不到MSVCRTD.DLL?