VS2013:链接器冲突

时间:2014-09-19 07:49:39

标签: 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    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变量环境导致冲突,可能会出现第一条错误消息。但是,我不能拒绝.NET 4.5.1。如何在我的情况下修复第一条或第二条错误消息?

1 个答案:

答案 0 :(得分:1)

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

解决方案:

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

    grep atlsd * .lib

  2. 然后使用VS2013重建该库。

相关问题