【发布时间】:2018-11-22 10:14:51
【问题描述】:
我在 VS 2015 中有一个解决方案,它利用了多个类似的项目。 我从提供的模板中添加了两个新的,现在构建整个解决方案在这两个项目中显示两个链接器错误。
我已将配置与解决方案中的其他类似项目进行了比较,一切都完全相同。一个一个地构建项目是成功的。
在链接器属性-> 输入-> 附加依赖项我有以下库,这些库是从解决方案中的其他项目创建的:
CommonLib.lib;UsermodeLibrary.lib
我得到的链接器错误是:
错误 LNK1181 无法打开输入文件“CommonLib.lib”项目名称
或者:
错误 LNK1181 无法打开输入文件 'UsermodeLibrary.lib' 项目名称
我将项目和其他项目放在同一个文件夹中,解决方案使用了过滤器。
【问题讨论】:
-
您是否检查过链接器实际上搜索了 .lib 文件所在的目录?暂时尝试将“附加依赖项”路径设置为库的绝对路径。如果可行,则您指定的路径是错误的,即您的 .lib 文件实际上不在项目的根文件夹中。
-
另外,在 VC++ 目录 -> 库目录中,您可以设置链接器搜索库的文件夹,AFAIK。另外,检查是否为您实际尝试构建的配置设置了设置。
-
感谢您的提示!这些设置必须非常特定于新项目,因为我只会在我添加的新项目上收到错误,即使我将它们与其他类似项目放在完全相同的文件夹中。到目前为止,我已经用文件 diff 检查了新的和现有的项目文件,它们配置了完全相同的路径。我会检查你提到的第二件事,但在提问之前我确实比较了即使构建选项也是相同的。
-
每个项目都需要特定的配置。如果路径配置不正确,它们可能包含一些特定的值,而不是使用其值的变量。
标签: c visual-studio-2015 linker