【问题标题】:LINK : fatal error LNK1104: cannot open file "Iphlpapi.lib"链接:致命错误 LNK1104:无法打开文件“Iphlpapi.lib”
【发布时间】:2010-04-28 17:06:36
【问题描述】:

所以我使用 Visual C++ 6.0,并尝试编译一些源代码,但编译后我得到了:

Linking...
LINK : fatal error LNK1104: cannot open file "Iphlpapi.lib"
Error executing link.exe.

我使用的是正确的 SDK,并且目录是正确的。我已经检查,双重检查和三重检查。该文件是指定的目录。我无法弄清楚问题是什么。有什么想法吗?

服务包 6

SDK for Windows Server 2003 SP1 //听起来很奇怪,因为我运行的是 XP SP3,但这在过去对我有用。

就像我说过的,它在过去对我有用,完美无缺。我不明白为什么它现在不起作用。

【问题讨论】:

  • 了解这实际上是什么 SDK 可能会有所帮助。
  • 抱歉,发布了更多信息。

标签: c++ visual-c++ visual-c++-6


【解决方案1】:

我确定您的项目配置存在一些问题。尝试将该文件移动到包含源代码的文件夹中。检查你add它(通过输入库)到你的项目的方式。尝试创建一个新项目并将该 .lib 移动到您的代码文件夹中(在将其添加到使用的库之后)。

【讨论】:

  • 嘿,你是对的。将文件移动到具有源修复它的文件夹。非常感谢。
  • @Rob:这真的解决了吗?您不想接下来解决根本问题吗?只有当链接器在源文件夹中找到库时,您才发现项目链接。
【解决方案2】:

sysinternals procmon 将向您显示构建的位置。不会修复它,但会给你一个线索

【讨论】:

    【解决方案3】:
    (tools)
    (options)
    (directories) tab
    (show directories for ) library files
    

    一般来说,您希望将包含缺失库的路径包含在其中。 以便所有项目都能找到它。

    另一种选择是将库添加到您的项目中使用

    (right click on the project)
    (add files to project)
     browse to, and add the library
    

    这两种方法中的一种应该可以为您完成这项工作

    【讨论】:

      【解决方案4】:

      也许这个讨论很晚了,以下解决方案对我有用。 唯一需要的设置是包含库的路径。

      在 VC++ 6.0 中,进入工具 -> 选项 -> 目录选项卡 -> 在“ShowDirectories”下拉菜单中选择“LibraryFiles 选项”。

      添加库的路径,在我的例子中路径是 "C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib"

      【讨论】:

        【解决方案5】:

        使用命令提示符编译,检查语法,空格是否正确放置,例如 "cl practice.cpp /clr:safe /doc" 执行正确但 "cl practice.cpp /clr:safe/doc" 产生你提到的错误

        【讨论】:

          猜你喜欢
          • 2011-09-07
          • 2011-06-23
          • 2017-11-29
          • 2014-11-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多