c++ - 错误 LNK1181 : cannot open input file when compiling as . LIB

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

我在这里有一个使用 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. 修改附加库目录属性。

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

关于c++ - 错误 LNK1181 : cannot open input file when compiling as . LIB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17581908/

相关文章:

c++ - Cmake 在 Mac OSX 上使用框架编译并将 .cpp 文件视为 .m/.mm

c - 多个字符串的空间分配

assembly - 奇怪的宏 (TASM)

assembly - 什么 NEON 汇编代码将两个向量组合成长向量?

c++ - 避免在类头文件中声明私有(private)函数 (C++)

C++/Boost 在多个字符上拆分字符串

c++ - 学习现代 OpenGL

c - 在 C 中获取日期和时间时遇到问题。我寻找答案并尝试了很多,但没有成功,

c - 任何将向 C 变量名称添加大小前缀(u8、u16 等)的程序或脚本

c - 使用指令指针的偏移量反汇编目标文件