在一个VC控制台应用程序中,加入对ADO的引用,编译后,出现如下错误提示,
1>MSVCRTD.lib(MSVCR120D.dll) : error LNK2005: __beginthreadex 已经在 libcmtd.lib(threadex.obj) 中定义
1>MSVCRTD.lib(MSVCR120D.dll) : error LNK2005: __endthreadex 已经在 libcmtd.lib(threadex.obj) 中定义
1>MSVCRTD.lib(MSVCR120D.dll) : error LNK2005: _fclose 已经在 libcmtd.lib(fclose.obj) 中定义
1>MSVCRTD.lib(MSVCR120D.dll) : error LNK2005: _fopen 已经在 libcmtd.lib(fopen.obj) 中定义
1>MSVCRTD.lib(MSVCR120D.dll) : error LNK2005: _sprintf 已经在 libcmtd.lib(sprintf.obj) 中定义
1>MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) 已经在 libcmtd.lib(typinfo.obj) 中定义
1>MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) 已经在 libcmtd.lib(typinfo.obj) 中定义
设置忽略MSVCRTD.lib,仍然有错误,经查MSDN关于LNK2005错误的说明,使用如下选项,编译通过。
在工程属性的->链接器->命令行->【其他选项】中填入如下选项:
/FORCE:MULTIPLE