错误LNK1181:编译为.LIB时无法打开输入文件

问题描述 投票:3回答:2

[这里有一个使用Intel Composer XE 2013的库,我想将其编译为.lib,因为我打算将其与另一个项目一起使用(默认情况下编译为application / EXE)。但是,当我在Visual Studio 2012的配置管理器中的“项目默认值”下设置“配置类型”时,出现“错误LNK1181:无法打开输入文件”奇怪的是,它要查找的文件没有文件结尾。该项目包含C,C ++和ASM代码。有没有人对这种行为有任何经验?

c++ c assembly visual-studio-2012 linker
2个回答
3
投票

导致LNK1181错误的一些常见原因是:

  • 文件名被引用为对链接器的附加依赖关系行,但文件不存在。
  • / LIBPATH语句,指定包含文件名的目录丢失。

要解决上述问题,请确保系统上存在链接器行上引用的所有文件。

使用/ LIBPATH选项覆盖环境库路径。链接器将首先在此选项指定的路径中搜索,然后在LIB环境变量中指定的路径中搜索。您输入的每个/ LIBPATH选项只能指定一个目录。如果要指定多个目录,则必须指定多个/ LIBPATH选项。然后,链接器将按顺序搜索指定的目录。

在Visual Studio开发环境中设置此链接器选项

  1. 打开项目的属性页对话框。
  2. 单击链接器文件夹。
  3. 单击常规属性页。
  4. 修改附加库目录属性。

如果没有帮助,那么您可以浏览这些链接:


0
投票

我通过重命名没有文件扩展名的.obj文件解决了该问题。例如,它正在寻找文件名“ foo”,我有“ foo.obj”,所以我将“ foo.obj”重命名为“ foo”。

© www.soinside.com 2019 - 2024. All rights reserved.