我的操作系统是64位Windows 7。
我想在C:\Program (X86)\(六月2010)\Samples\C++\Direct3D10\Tutorials\Tutorial02. )中构建DirectX示例但是当我生成错误时,会出现致命错误。
LNK1104:'winmm.lib‘不能打开文件。
我重新安装了Direct,但是没有改变。我还将路径(包括,lib)添加到设置中。
如果我从项目设置中删除'winmm.lib‘,就无法打开'comctl32.lib’。这两种libs已经出现在properties>Linker>Input中。
我该如何解决这个问题?
发布于 2016-07-22 10:51:49
只要把这一行放在stdafx.h中就行了。
#pragma comment(lib, "winmm.lib")发布于 2014-11-05 16:39:42
winmm.lib不是DirectX SDK的一部分,而是Windows的一部分。
最新的Windows版本也进行了大量的重组,但是它包含了您要寻找的库。
发布于 2014-11-05 16:52:40
如果您试图使用VS 2012或VS 2013构建任何遗留的DirectX SDK示例,则需要根据MSDN页面底部的说明修改包含/libs路径。最重要的更改是必须反转包含/Lib路径顺序:
2010年VS的情况如下:
$(DXSDK_DIR)Include;$(IncludePath)
$(DXSDK_DIR)Lib\x86;$(LibraryPath)或$(DXSDK_DIR)Lib\x64;$(LibraryPath)
2012/2013年的VS必须是:
$(IncludePath);$(DXSDK_DIR)Include
$(LibraryPath);$(DXSDK_DIR)Lib\x86或$(LibraryPath);$(DXSDK_DIR)Lib\x64
当然,更好的选择是根本不花时间学习旧的Direct3D 10 API,而使用最新的Direct3D 11 Win32桌面教程。事实上,我已经在那里发布了许多遗留的Windows示例,因此它们可以很好地处理VS 2012/2013用于和VS 2012/2013 DirectX的示例,因为它们根本就没有Windows。
阅读这些博客文章:
DirectX SDK样本目录
DirectX SDK工具目录
无D3DX生活
具有一定年龄的DirectX SDK
并回顾这些CodePlex项目:
DirectX工具包
DirectXMesh
DirectXTex
Direct3D 11的DXUT
效果11
https://stackoverflow.com/questions/26762013
复制相似问题