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

时间:2013-07-10 22:17:31

标签: c++ c assembly visual-studio-2012 linker

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

2 个答案:

答案 0 :(得分:2)

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

  • filename被引用为链接器的附加依赖项 line,但该文件不存在。
  • A / LIBPATH语句,指定包含filename的目录 缺少。

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

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

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

  1. 打开项目的“属性页”对话框。
  2. 单击链接器文件夹。
  3. 单击“常规”属性页。
  4. 修改其他库目录属性。
  5. 如果这没有用,那么你可以查看这些链接:

答案 1 :(得分:0)

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

相关问题