Dao SDK在Visual studio 6下使用得很好,怎么在vs .net 2005下老是出现无法解析的外部符号。
Dao SDK在Visual studio 6下使用得很好,怎么在vs .net 2005下老是出现无法解析的外部符号。
过程如下:
第一步,在vs.net 2005下点新建项目,选择MFC的工程,向导完全按缺省的下一步,完成。
第二步,生成后,在StdAfx.h 中加入“#include <dbdao.h>”
第三步,在工程设置中,链接选项,附加依赖,填入 “ddao35ud.lib”,缺省为unicode的
最后,存盘 生成解决方案,编译无错误,链接错误如下:
正在链接...
stdafx.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall CdbBSTR::CdbBSTR(wchar_t *)" (??0CdbBSTR@@QAE@PA_W@Z) ,该符号在函数 "public: void __thiscall CdbBSTR::`default constructor closure'(void)" (??_FCdbBSTR@@QAEXXZ) 中被引用
stdafx.obj : error LNK2001: 无法解析的外部符号 "public: virtual void __thiscall CdbStaticCollection::Delete(wchar_t const *)" (?Delete@CdbStaticCollection@@UAEXPB_W@Z)
stdafx.obj : error LNK2001: 无法解析的外部符号 "public: virtual class CdbObject __thiscall CdbStaticCollection::ObItem(wchar_t const *)" (?ObItem@CdbStaticCollection@@UAE?AVCdbObject@@PB_W@Z)
stdafx.obj : error LNK2001: 无法解析的外部符号 "public: virtual void __thiscall CdbDynamicCollection::Delete(wchar_t const *)" (?Delete@CdbDynamicCollection@@UAEXPB_W@Z)
stdafx.obj : error LNK2001: 无法解析的外部符号 "public: virtual class CdbObject __thiscall CdbDynamicCollection::ObItem(wchar_t const *)" (?ObItem@CdbDynamicCollection@@UAE?AVCdbObject@@PB_W@Z)
stdafx.obj : error LNK2001: 无法解析的外部符号 "public: virtual class CdbObject __thiscall CdbIndexFields::ObItem(wchar_t const *)" (?ObItem@CdbIndexFields@@UAE?AVCdbObject@@PB_W@Z)
stdafx.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall CdbDBEngine::CdbDBEngine(int,int,wchar_t const *,wchar_t const *,wchar_t const *,long)" (??0CdbDBEngine@@QAE@HHPB_W00J@Z) ,该符号在函数 "public: void __thiscall CdbDBEngine::`default constructor closure'(void)" (??_FCdbDBEngine@@QAEXXZ) 中被引用
stdafx.obj : error LNK2019: 无法解析的外部符号 "public: class COleVariant __thiscall CdbRecordset::GetField(wchar_t const *)" (?GetField@CdbRecordset@@QAE?AVCOleVariant@@PB_W@Z) ,该符号在函数 "public: class COleVariant __thiscall CdbRecordset::GetField(class ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > &)" (?GetField@CdbRecordset@@QAE?AVCOleVariant@@AAV?$CStringT@_WV?$StrTraitMFC_DLL@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@@Z) 中被引用
stdafx.obj : error LNK2019: 无法解析的外部符号 "public: void __thiscall CdbRecordset::SetField(wchar_t const *,struct tagVARIANT *)" (?SetField@CdbRecordset@@QAEXPB_WPAUtagVARIANT@@@Z) ,该符号在函数 "public: void __thiscall CdbRecordset::SetField(class ATL::CStringT<wchar_t,class StrTraitMFC_DLL<wchar_t,class ATL::ChTraitsCRT<wchar_t> > > &,struct tagVARIANT *)" (?SetField@CdbRecordset@@QAEXAAV?$CStringT@_WV?$StrTraitMFC_DLL@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@PAUtagVARIANT@@@Z) 中被引用
stdafx.obj : error LNK2019: 无法解析的外部符号 "public: class CdbWorkspace __thiscall CdbWorkspaces::operator[](wchar_t const *)" (??ACdbWorkspaces@@QAE?AVCdbWorkspace@@PB_W@Z) ,该符号在函数 "public: class CdbWorkspace __thiscall CdbDBEngine::operator[](wchar_t const *)" (??ACdbDBEngine@@QAE?AVCdbWorkspace@@PB_W@Z) 中被引用
stdafx.obj : error LNK2019: 无法解析的外部符号 "public: class CdbDatabase __thiscall CdbDatabases::operator[](wchar_t const *)" (??ACdbDatabases@@QAE?AVCdbDatabase@@PB_W@Z) ,该符号在函数 "public: class CdbDatabase __thiscall CdbWorkspace::operator[](wchar_t const *)" (??ACdbWorkspace@@QAE?AVCdbDatabase@@PB_W@Z) 中被引用
stdafx.obj : error LNK2019: 无法解析的外部符号 "public: class CdbTableDef __thiscall CdbTableDefs::operator[](wchar_t const *)" (??ACdbTableDefs@@QAE?AVCdbTableDef@@PB_W@Z) ,该符号在函数 "public: class CdbTableDef __thiscall CdbDatabase::operator[](wchar_t const *)" (??ACdbDatabase@@QAE?AVCdbTableDef@@PB_W@Z) 中被引用
stdafx.obj : error LNK2019: 无法解析的外部符号 "public: class CdbQueryDef __thiscall CdbQueryDefs::operator[](wchar_t const *)" (??ACdbQueryDefs@@QAE?AVCdbQueryDef@@PB_W@Z) ,该符号在函数 "public: class CdbQueryDef __thiscall CdbConnection::operator[](wchar_t const *)" (??ACdbConnection@@QAE?AVCdbQueryDef@@PB_W@Z) 中被引用
stdafx.obj : error LNK2019: 无法解析的外部符号 "public: class CdbField __thiscall CdbFields::operator[](wchar_t const *)" (??ACdbFields@@QAE?AVCdbField@@PB_W@Z) ,该符号在函数 "public: class CdbField __thiscall CdbRecordset::operator[](wchar_t const *)" (??ACdbRecordset@@QAE?AVCdbField@@PB_W@Z) 中被引用
stdafx.obj : error LNK2019: 无法解析的外部符号 "public: class CdbGroup __thiscall CdbGroups::operator[](wchar_t const *)" (??ACdbGroups@@QAE?AVCdbGroup@@PB_W@Z) ,该符号在函数 "public: class CdbGroup __thiscall CdbUser::operator[](wchar_t const *)" (??ACdbUser@@QAE?AVCdbGroup@@PB_W@Z) 中被引用
stdafx.obj : error LNK2019: 无法解析的外部符号 "public: class CdbUser __thiscall CdbUsers::operator[](wchar_t const *)" (??ACdbUsers@@QAE?AVCdbUser@@PB_W@Z) ,该符号在函数 "public: class CdbUser __thiscall CdbGroup::operator[](wchar_t const *)" (??ACdbGroup@@QAE?AVCdbUser@@PB_W@Z) 中被引用
stdafx.obj : error LNK2019: 无法解析的外部符号 "public: class CdbDocument __thiscall CdbDocuments::operator[](wchar_t const *)" (??ACdbDocuments@@QAE?AVCdbDocument@@PB_W@Z) ,该符号在函数 "public: class CdbDocument __thiscall CdbContainer::operator[](wchar_t const *)" (??ACdbContainer@@QAE?AVCdbDocument@@PB_W@Z) 中被引用
msvcrtd.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16 ,该符号在函数 _WinMainCRTStartup 中被引用
Debug/fsMFC.exe : fatal error LNK1120: 18 个无法解析的外部命令
生成日志保存在“file://d:\aaa\fsMFC\fsMFC\Debug\BuildLog.htm”中
fsMFC - 19 错误,0 警告
这个问题如何解决。把这个网络都翻了一遍,也没见有人提这个问题。