Visual studio 2013 VS2013:链接器冲突

Visual studio 2013 VS2013:链接器冲突,visual-studio-2013,Visual Studio 2013,我对Visual Studio 2013中标准Windows库的链接器有问题。当我尝试构建C++项目时,我收到以下消息: 使用平台工具集v100构建时出现以下错误消息: error LNK1123: failure during conversion to COFF: file invalid or corrupt C:\Solutions\PatchManagement\Trunk\Main\Windows\PatchMgmtAgentsTest\LINK PatchMgmtAgen

我对Visual Studio 2013中标准Windows库的链接器有问题。当我尝试构建C++项目时,我收到以下消息:

使用平台工具集v100构建时出现以下错误消息:

error LNK1123: failure during conversion to COFF: file invalid or corrupt   C:\Solutions\PatchManagement\Trunk\Main\Windows\PatchMgmtAgentsTest\LINK    PatchMgmtAgentsTest
使用平台工具集v120构建时出现以下错误消息:

error LNK1104: cannot open file 'atlsd.lib' C:\Solutions\PatchManagement\Trunk\Main\Windows\PatchMgmtAgentsTest\LINK    PatchMgmtAgentsTest

较早地将C++项目和其他C项目在同一解决方案中使用.NET 3.5编写在VS2008上。现在它被迁移到VS2013和.NET 4.5.1

此外,我还有VS2008(其中是验证迁移的同一解决方案的旧版本)和VS2010。我发现了一些解决方案或提示,第一条错误消息可能是由于.NET 4.0或更高版本,或者由于某些Visual Studio可变环境导致冲突而出现的。然而,我不能拒绝.NET4.5.1。在我的情况下,如何修复第一个或第二个错误消息?

无法打开文件“atlsd.lib”可能是因为VS2013不再提供atlsd.lib,但您正在链接到使用旧版本的工具集(例如VS2012)构建的库,该工具集正在拉入atlsd.lib

解决方案:

  • 棘手的部分是找出哪个库正在拉入atlsd.lib。我通过在msysgit安装中运行
    grep
    来回答这个问题,比如:

    grep atlsd*.lib

  • 然后用VS2013重建该库