【问题标题】:Where can I find 'winmm.lib' (I'm using Visual Studio 2012)在哪里可以找到“winmm.lib”(我使用的是 Visual Studio 2012)
【发布时间】:2014-11-05 16:20:20
【问题描述】:

我的操作系统是 64 位 Windows 7。
我想在 C:\Program Files (x86)\Microsoft DirectX SDK(2010 年 6 月)\Samples\C++\Direct3D10\Tutorials\Tutorial02。 但是当我构建错误时发生致命错误

LNK1104:“winmm.lib”无法打开文件。

我重新安装了 Direct SDK,但没有任何变化。我还在设置中添加了路径(包括、lib)。

如果我从项目设置中删除“winmm.lib”,则无法打开“comctl32.lib”。 两个库都已经存在于属性>链接器>输入中。

我该如何解决这个问题?

【问题讨论】:

  • 你在哪里添加路径?您是否检查过您的硬盘上是否存在 winmm.lib?
  • 它应该在C:/winows/system32 中将此路径添加到您的库路径中
  • 那些(两者)都是 Windows SDK 库:C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib 或周围。
  • 它肯定不会在C:/winows/system32 我在这个文件夹中根本没有一个.lib 文件。也许您正在考虑 .dll。
  • LNK1104: 'winmm.lib' can't open the file. 你在混合 x86_64 和 x86 吗?请记住,您不能在 32 位应用程序中使用 64 位库或在 64 位应用程序中使用 32 位库。

标签: c++ visual-studio-2012 directx winmm


【解决方案1】:

winmm.lib 不是 DirectX SDK 的一部分,而是Windows SDK 的一部分。

最新的 Windows SDK 版本也进行了重大重组,但它包含您正在寻找的库。

【讨论】:

    【解决方案2】:

    只需将下面的行放在 stdafx.h 中

    #pragma comment(lib, "winmm.lib")
    

    【讨论】:

    • 在启动使用 winmm.dll 函数的项目时,我收到“LNK2028 未解析的令牌 (0A00002D) extern C ...”消息。添加“#pragma comment ...”以添加对 winmm.lib 的引用,如上所述解决了问题。
    【解决方案3】:

    如果您尝试使用 VS 2012 或 VS 2013 构建任何旧版 DirectX SDK 示例,您需要按照页面底部MSDN 上的说明修改包含/库路径。最重要的变化是必须颠倒 Include/Lib 路径顺序:

    对于 VS 2010,它是:

    $(DXSDK_DIR)Include;$(IncludePath)

    $(DXSDK_DIR)Lib\x86;$(LibraryPath)$(DXSDK_DIR)Lib\x64;$(LibraryPath)

    对于 VS 2012/2013,它必须是:

    $(IncludePath);$(DXSDK_DIR)Include

    $(LibraryPath);$(DXSDK_DIR)Lib\x86$(LibraryPath);$(DXSDK_DIR)Lib\x64

    当然更好的选择是根本不花时间学习旧的 Direct3D 10 API,而是使用MSDN Code Gallery 上最新的Direct3D 11 Win32 桌面教程。事实上,我已经在那里发布了许多旧版 DirectX SDK 示例,因此它们可以在没有 DirectX SDK 的情况下与 VS 2012/2013 Express for Windows Desktop 和 VS 2012/2013 Pro+ 一起正常工作。

    阅读这些博文:

    DirectX SDK Samples Catalog

    DirectX SDK Tools Catalog

    Living without D3DX

    DirectX SDKs of a certain age

    并查看这些 CodePlex 项目:

    DirectX Tool Kit

    DirectXMesh

    DirectXTex

    DXUT for Direct3D 11

    Effects 11

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-16
      • 2015-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-03
      • 1970-01-01
      • 2015-12-19
      相关资源
      最近更新 更多