3

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

4

2 回答 2

3

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

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

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

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

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

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

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

于 2013-07-11T01:23:53.690 回答
0

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

于 2013-07-14T13:07:20.130 回答