• <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 葉子 閱讀(2615) 評論(0)  編輯 收藏 引用 所屬分類: C\C++

            成人久久免费网站| 久久精品一本到99热免费| 久久九九亚洲精品| 欧美亚洲日本久久精品| 亚洲va久久久噜噜噜久久| 久久精品视频网| 香蕉久久夜色精品国产2020| 亚洲成色WWW久久网站| 国产精品日韩深夜福利久久| 久久天天躁狠狠躁夜夜2020一| 色综合久久无码五十路人妻| 国产毛片久久久久久国产毛片| 亚洲国产精品久久久天堂 | 久久久久久九九99精品| 久久精品成人影院| 成人资源影音先锋久久资源网| 人妻精品久久久久中文字幕| 国产精品久久波多野结衣| 久久久久亚洲av成人网人人软件| 国产成人久久激情91| 人妻无码αv中文字幕久久琪琪布 人妻无码久久一区二区三区免费 人妻无码中文久久久久专区 | 中文国产成人精品久久亚洲精品AⅤ无码精品| 亚洲精品国产字幕久久不卡| 久久乐国产精品亚洲综合| 韩国无遮挡三级久久| 亚洲AV日韩AV天堂久久| 久久久这里有精品| 色99久久久久高潮综合影院| 国内精品久久久久久久coent| 99久久99久久| 国产欧美久久久精品| 99久久99久久| 国产高清美女一级a毛片久久w | 国产精品久久久久久久人人看 | 亚洲狠狠婷婷综合久久久久| 久久夜色精品国产亚洲| 久久午夜无码鲁丝片秋霞 | 亚洲国产婷婷香蕉久久久久久| 久久久久无码精品| 久久综合成人网| 久久精品国产2020|