繁体   English   中英

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

[英]Error LNK1181: cannot open input file when compiling as .LIB

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

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

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

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM