• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            elva

            vc6.0,vs2003中,ado代碼移植到vs2005,2008時遇到重定義問題的解決辦法

            vs2003中正常訪問數據庫的代碼在vs2005或vs2008中編譯報錯如:



            1>c:\users\elva\desktop\serialnumberwriter\trunk\stdafx.h(69) : warning C4192: 導入類型庫“wireHWND”時自動排除“C:\\Program Files\\Common Files\\System\\Ole DB\\oledb32.dll”
            1>c:\users\elva\desktop\serialnumberwriter\trunk\stdafx.h(69) : warning C4192: 導入類型庫“_RemotableHandle”時自動排除“C:\\Program Files\\Common Files\\System\\Ole DB\\oledb32.dll”
            1>c:\users\elva\desktop\serialnumberwriter\trunk\stdafx.h(69) : warning C4192: 導入類型庫“__MIDL_IWinTypes_0009”時自動排除“C:\\Program Files\\Common Files\\System\\Ole DB\\oledb32.dll”
            1>c:\users\elva\desktop\serialnumberwriter\trunk\stdafx.h(69) : warning C4192: 導入類型庫“_COSERVERINFO”時自動排除“C:\\Program Files\\Common Files\\System\\Ole DB\\oledb32.dll”
            1>c:\users\elva\desktop\serialnumberwriter\trunk\stdafx.h(69) : warning C4192: 導入類型庫“_COAUTHINFO”時自動排除“C:\\Program Files\\Common Files\\System\\Ole DB\\oledb32.dll”
            1>c:\users\elva\desktop\serialnumberwriter\trunk\stdafx.h(69) : warning C4192: 導入類型庫“_COAUTHIDENTITY”時自動排除“C:\\Program Files\\Common Files\\System\\Ole DB\\oledb32.dll”
            1>c:\users\elva\desktop\serialnumberwriter\trunk\stdafx.h(69) : warning C4192: 導入類型庫“IPersistFile”時自動排除“C:\\Program Files\\Common Files\\System\\Ole DB\\oledb32.dll”
            1>c:\users\elva\desktop\serialnumberwriter\trunk\stdafx.h(69) : warning C4192: 導入類型庫“IPersist”時自動排除“C:\\Program Files\\Common Files\\System\\Ole DB\\oledb32.dll”
            1>c:\users\elva\desktop\serialnumberwriter\trunk\stdafx.h(69) : warning C4192: 導入類型庫“IAuthenticate”時自動排除“C:\\Program Files\\Common Files\\System\\Ole DB\\oledb32.dll”
            1>c:\users\elva\desktop\serialnumberwriter\trunk\stdafx.h(69) : warning C4192: 導入類型庫“IErrorInfo”時自動排除“C:\\Program Files\\Common Files\\System\\Ole DB\\oledb32.dll”
            1>c:\users\elva\desktop\serialnumberwriter\trunk\stdafx.h(69) : warning C4192: 導入類型庫“IMarshal”時自動排除“C:\\Program Files\\Common Files\\System\\Ole DB\\oledb32.dll”
            1>c:\users\elva\desktop\serialnumberwriter\trunk\stdafx.h(69) : warning C4192: 導入類型庫“IStream”時自動排除“C:\\Program Files\\Common Files\\System\\Ole DB\\oledb32.dll”
            1>c:\users\elva\desktop\serialnumberwriter\trunk\stdafx.h(69) : warning C4192: 導入類型庫“ISequentialStream”時自動排除“C:\\Program Files\\Common Files\\System\\Ole DB\\oledb32.dll”
            1>c:\users\elva\desktop\serialnumberwriter\trunk\stdafx.h(69) : warning C4192: 導入類型庫“_LARGE_INTEGER”時自動排除“C:\\Program Files\\Common Files\\System\\Ole DB\\oledb32.dll”
            1>c:\users\elva\desktop\serialnumberwriter\trunk\stdafx.h(69) : warning C4192: 導入類型庫“_ULARGE_INTEGER”時自動排除“C:\\Program Files\\Common Files\\System\\Ole DB\\oledb32.dll”
            1>c:\users\elva\desktop\serialnumberwriter\trunk\stdafx.h(69) : warning C4192: 導入類型庫“tagSTATSTG”時自動排除“C:\\Program Files\\Common Files\\System\\Ole DB\\oledb32.dll”
            1>c:\users\elva\desktop\serialnumberwriter\trunk\stdafx.h(69) : warning C4192: 導入類型庫“_FILETIME”時自動排除“C:\\Program Files\\Common Files\\System\\Ole DB\\oledb32.dll”
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tlh(251) : error C2011: “IBindResource”: “struct”類型重定義
            1>        d:\program files\microsoft visual studio 8\vc\platformsdk\include\oledb.h(13883) : 參見“IBindResource”的聲明
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tlh(289) : error C2011: “ICreateRow”: “struct”類型重定義
            1>        d:\program files\microsoft visual studio 8\vc\platformsdk\include\oledb.h(14271) : 參見“ICreateRow”的聲明
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tlh(329) : error C2011: “IRegisterProvider”: “struct”類型重定義
            1>        d:\program files\microsoft visual studio 8\vc\platformsdk\include\oledb.h(14637) : 參見“IRegisterProvider”的聲明
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tlh(369) : error C2011: “tagDBPROPIDSET”: “struct”類型重定義
            1>        d:\program files\microsoft visual studio 8\vc\platformsdk\include\oledb.h(2295) : 參見“tagDBPROPIDSET”的聲明
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tlh(400) : error C2011: “tagDBID”: “struct”類型重定義
            1>        d:\program files\microsoft visual studio 8\vc\platformsdk\include\oledb.h(695) : 參見“tagDBID”的聲明
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tlh(411) : error C2011: “tagDBPROP”: “struct”類型重定義
            1>        d:\program files\microsoft visual studio 8\vc\platformsdk\include\oledb.h(2394) : 參見“tagDBPROP”的聲明
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tlh(424) : error C2011: “tagDBPROPSET”: “struct”類型重定義
            1>        d:\program files\microsoft visual studio 8\vc\platformsdk\include\oledb.h(2403) : 參見“tagDBPROPSET”的聲明
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tlh(435) : error C2011: “tagDBPROPINFO”: “struct”類型重定義
            1>        d:\program files\microsoft visual studio 8\vc\platformsdk\include\oledb.h(2345) : 參見“tagDBPROPINFO”的聲明
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tlh(448) : error C2011: “tagDBPROPINFOSET”: “struct”類型重定義
            1>        d:\program files\microsoft visual studio 8\vc\platformsdk\include\oledb.h(2356) : 參見“tagDBPROPINFOSET”的聲明
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tlh(457) : error C2011: “IDBProperties”: “struct”類型重定義
            1>        d:\program files\microsoft visual studio 8\vc\platformsdk\include\oledb.h(7883) : 參見“IDBProperties”的聲明
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tlh(515) : error C2011: “IDBBinderProperties”: “struct”類型重定義
            1>        d:\program files\microsoft visual studio 8\vc\platformsdk\include\oledb.h(14390) : 參見“IDBBinderProperties”的聲明
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(100) : error C2027: 使用了未定義類型“IBindResource”
            1>        d:\program files\microsoft visual studio 8\vc\platformsdk\include\oledb.h(13883) : 參見“IBindResource”的聲明
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(101) : error C3861: “raw_RemoteBind”: 找不到標識符
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(102) : error C2673: “RemoteBind”: 全局函數沒有“this”指針
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(102) : error C2673: “RemoteBind”: 全局函數沒有“this”指針
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(110) : error C2027: 使用了未定義類型“ICreateRow”
            1>        d:\program files\microsoft visual studio 8\vc\platformsdk\include\oledb.h(14271) : 參見“ICreateRow”的聲明
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(111) : error C3861: “raw_RemoteCreateRow”: 找不到標識符
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(112) : error C2673: “RemoteCreateRow”: 全局函數沒有“this”指針
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(112) : error C2673: “RemoteCreateRow”: 全局函數沒有“this”指針
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(120) : error C2027: 使用了未定義類型“IRegisterProvider”
            1>        d:\program files\microsoft visual studio 8\vc\platformsdk\include\oledb.h(14637) : 參見“IRegisterProvider”的聲明
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(121) : error C3861: “raw_RemoteGetURLMapping”: 找不到標識符
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(122) : error C2673: “RemoteGetURLMapping”: 全局函數沒有“this”指針
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(122) : error C2673: “RemoteGetURLMapping”: 全局函數沒有“this”指針
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(126) : error C2027: 使用了未定義類型“IRegisterProvider”
            1>        d:\program files\microsoft visual studio 8\vc\platformsdk\include\oledb.h(14637) : 參見“IRegisterProvider”的聲明
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(127) : error C3861: “raw_SetURLMapping”: 找不到標識符
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(128) : error C2673: “SetURLMapping”: 全局函數沒有“this”指針
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(128) : error C2673: “SetURLMapping”: 全局函數沒有“this”指針
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(132) : error C2027: 使用了未定義類型“IRegisterProvider”
            1>        d:\program files\microsoft visual studio 8\vc\platformsdk\include\oledb.h(14637) : 參見“IRegisterProvider”的聲明
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(133) : error C3861: “raw_UnregisterProvider”: 找不到標識符
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(134) : error C2673: “UnregisterProvider”: 全局函數沒有“this”指針
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(134) : error C2673: “UnregisterProvider”: 全局函數沒有“this”指針
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(142) : error C2027: 使用了未定義類型“IDBProperties”
            1>        d:\program files\microsoft visual studio 8\vc\platformsdk\include\oledb.h(7883) : 參見“IDBProperties”的聲明
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(143) : error C3861: “raw_RemoteGetProperties”: 找不到標識符
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(144) : error C2673: “RemoteGetProperties”: 全局函數沒有“this”指針
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(144) : error C2673: “RemoteGetProperties”: 全局函數沒有“this”指針
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(148) : error C2027: 使用了未定義類型“IDBProperties”
            1>        d:\program files\microsoft visual studio 8\vc\platformsdk\include\oledb.h(7883) : 參見“IDBProperties”的聲明
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(149) : error C3861: “raw_RemoteGetPropertyInfo”: 找不到標識符
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(150) : error C2673: “RemoteGetPropertyInfo”: 全局函數沒有“this”指針
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(150) : error C2673: “RemoteGetPropertyInfo”: 全局函數沒有“this”指針
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(154) : error C2027: 使用了未定義類型“IDBProperties”
            1>        d:\program files\microsoft visual studio 8\vc\platformsdk\include\oledb.h(7883) : 參見“IDBProperties”的聲明
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(155) : error C3861: “raw_RemoteSetProperties”: 找不到標識符
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(156) : error C2673: “RemoteSetProperties”: 全局函數沒有“this”指針
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(156) : error C2673: “RemoteSetProperties”: 全局函數沒有“this”指針
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(164) : error C2027: 使用了未定義類型“IDBBinderProperties”
            1>        d:\program files\microsoft visual studio 8\vc\platformsdk\include\oledb.h(14390) : 參見“IDBBinderProperties”的聲明
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(165) : error C3861: “raw_Reset”: 找不到標識符
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(166) : error C2673: “Reset”: 全局函數沒有“this”指針
            1>c:\users\elva\desktop\serialnumberwriter\trunk\debug\oledb32.tli(166) : error C2673: “Reset”: 全局函數沒有“this”指針


            該錯誤由以下語句導致:
            #define _WIN32_DCOM 
            #import 
            "C:\\Program Files\\Common Files\\System\\ado\\msado15.dll" no_namespace rename("EOF","ADOEOF")
            #import 
            "C:\\Program Files\\Common Files\\System\\Ole DB\\oledb32.dll" no_namespace

            解決辦法是去掉no_namespace,在用到的地方單獨加namespace

            using namespace ADODB;
            另一個不知道是什么,
            我只好將他改名:
            #import "C:\\Program Files\\Common Files\\System\\Ole DB\\oledb32.dll" rename_namespace("OLEDB"// no_namespace

            posted on 2010-04-27 14:03 葉子 閱讀(2632) 評論(0)  編輯 收藏 引用 所屬分類: C\C++

            久久久久久久97| 久久久精品一区二区三区| 久久天堂AV综合合色蜜桃网 | 成人亚洲欧美久久久久| 久久影院综合精品| 2021精品国产综合久久| a级毛片无码兔费真人久久| 国产香蕉97碰碰久久人人| 99久久免费只有精品国产| 亚洲国产精品18久久久久久| 国产精品99久久精品| 亚洲综合熟女久久久30p| 麻豆亚洲AV永久无码精品久久| 国产—久久香蕉国产线看观看| 无码八A片人妻少妇久久| 久久久精品久久久久久| 91精品国产综合久久香蕉| 色婷婷综合久久久久中文一区二区 | 九九99精品久久久久久| 一本久道久久综合狠狠爱| 亚洲精品高清一二区久久| 伊人久久亚洲综合影院| 亚洲国产成人久久综合一区77| 国产精品99久久精品| 精品久久久久久国产三级| 久久婷婷色综合一区二区| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 国产A级毛片久久久精品毛片| 久久亚洲精品无码aⅴ大香| 久久久久高潮综合影院| 99久久综合国产精品免费| 日本加勒比久久精品| 伊人 久久 精品| 国产999精品久久久久久| 国产成人久久精品麻豆一区| 99久久精品国产一区二区| 狠狠干狠狠久久| 久久综合精品国产二区无码| 久久国产精品一区| 狠狠干狠狠久久| 色综合久久中文综合网|