VS2017项目升级 error LNK2005: "public: __thiscall ATL::CTime::

我是将项目升级到从VS2012 升级VS2017, 报错如下

1>atlsd.lib(atltime.obj) : error LNK2005: "public: __thiscall ATL::CTime::CTime(__int64)" (??0CTime@ATL@@QAE@_J@Z) 已经在 UNIServer.obj 中定义
1>atlsd.lib(atltime.obj) : error LNK2005: "public: int __thiscall ATL::CTime::GetHour(void)const " (?GetHour@CTime@ATL@@QBEHXZ) 已经在 UNIServer.obj 中定义
1>atlsd.lib(atltime.obj) : error LNK2005: "public: struct tm * __thiscall ATL::CTime::GetLocalTm(struct tm *)const " (?GetLocalTm@CTime@ATL@@QBEPAUtm@@PAU3@@Z) 已经在 UNIServer.obj 中定义
1>atlsd.lib(atltime.obj) : error LNK2005: "public: int __thiscall ATL::CTime::GetMinute(void)const " (?GetMinute@CTime@ATL@@QBEHXZ) 已经在 UNIServer.obj 中定义
1>atlsd.lib(atltime.obj) : error LNK2005: "public: static class ATL::CTime __stdcall ATL::CTime::GetTickCount(void)" (?GetTickCount@CTime@ATL@@SG?AV12@XZ) 已经在 UNIServer.obj 中定义

原因:

  我的VS2017安装的有问题, 在安装包中找不到这个atlsd,lib文件, 然后没办法就直接链接VS2012中的文件

解决方法:

  项目 -> 属性 -> 链接器-> 命令行: 添加 /FORCE:MULTIPLE, 重新编译, 就解决了

posted @ 2019-07-29 00:20  Software_hul  阅读(523)  评论(0编辑  收藏  举报