由于新添加的项目上的链接器错误,构建解决方案失败

时间:2018-11-22 10:14:51

标签: c visual-studio-2015 linker

我在VS 2015中有一个解决方案,该解决方案利用了多个类似的项目。 我从提供的模板中添加了两个新代码,现在构建整个解决方案时,在这两个项目上显示了两个链接器错误。

我已经将配置与解决方案中的其他类似项目进行了比较,并且一切都完全相同。一个接一个地建立项目是成功的。

在链接器属性->输入->其他依赖项中,我具有以下库,这些库是从解决方案中的其他项目创建的:

  

CommonLib.lib; UsermodeLibrary.lib

我得到的链接器错误是:

  

错误LNK1181无法打开输入文件'CommonLib.lib'ProjectName

或者:

  

错误LNK1181无法打开输入文件'UsermodeLibrary.lib'ProjectName

我将项目与其他项目放在同一文件夹中,该解决方案使用了过滤器。

1 个答案:

答案 0 :(得分:0)

我的实验室老师为我解决了这个问题。 为了得到答案,我们将我从模板“ MyProject”添加的新项目称为“

”。

”“您必须转到解决方案的属性(在解决方案上单击鼠标右键-> Properties),然后在左侧选项卡中转到 Common Properties \ Project Dependencies 。 然后,在项目的中间顶部(例如:MyProject)和底部的窗口中进行选择,您必须搜索UsermodeLibrary并将其选中/选择为项目的依赖项。

问题是,每个项目都在“项目属性”中进行了配置(确定)(与链接器相关,其余部分),唯一的问题是,当您构建解决方案时每个解决方案必须知道某些项目依赖于其他项目。 这里的依赖关系层次结构如下:

  

MyProject-> UsermodeLibrary-> CommonLib(->表示“取决于”)。

这就是为什么您看到CommonLib无法链接到项目的原因,因为它不是在那些应用程序之前构建的。

以某种方式,您的模板在创建它们的解决方案方面缺少此设置。”