无法打开文件'dxguid.lib'

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法打开文件'dxguid.lib'相关的知识,希望对你有一定的参考价值。

我有恼人的链接器问题 - VS2010声称它找不到这个文件,但它显然存在,并且路径是正确的 - 我在同一个文件夹中使用其他lib,所有工作都没有问题。 (d3d9.lib和dinput8.lib)我正在使用2010年2月版的DXSDK(DX9),以防相关。我甚至试过复制/粘贴文件名,所以我知道我没有错误输入它。我的“附加依赖项”行如下所示:

Library.lib;d3d9.lib;dinput8.lib;dxguid.lib;%(AdditionalDependencies)

和附加库目录行(用于Debug构建):

$(DXSDK_DIR)Lib;$(SolutionDir)Debug;%(AdditionalLibraryDirectories)

(Library.lib是我自己的库,存储在$(SolutionDir) Debug文件夹中,或Release for Release版本,但这不是问题。)

DXSDK目录包含2个子文件夹,x64和x86,并且两个文件都存在,以及其他两个工作正常的库。 (运行Windows 7 64位,所以它应该使用第一个。)任何想法?

答案

编辑:dinput8和d3d9库可能已经在标准库中(它们太旧了),这就是为什么之前有效的原因。

目录

$(DXSDK_DIR)Lib

不是一条完整的道路。它必须是

$(DXSDK_DIR)Libx86

要么

$(DXSDK_DIR)Libx64

取决于你的目标。

如果要为32位环境构建项目(转到Configuration Manager并检查确切目标),请使用x86子目录,否则使用x64。

另一答案

您还应该注意,对于Visual Studio Express 2008,2010和CodeBlocks,您需要在附加库列表顶部或其可能调用的任何路径中使用DirectX的路径。使用带有奇怪符号的路径(虚拟路径,对吗?)以及直接浏览DirectX安装中的路径。

使用Lib / x86如果你在32但是机器上,如果是64位则使用Lib / x64。还要确保包含带有DirectX标头的Include目录。

不确定这是否对您有所帮助,但如果您使用的是旧的DirectX代码,请参阅我的视频教程系列:http://hi-techheadache.blogspot.com/p/using-old-source-code.html

它还将澄清我所说的一切,因为我向您展示了如何设置这些IDE以使用DirectX。

以上是关于无法打开文件'dxguid.lib'的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 无法打开包含文件'afxres.h'

无法使用C编译python包。错误2 - 无法打开包含文件:'alloca.h'?

如何修复'require_once()无法打开流'

错误LNK1181:无法打开输入文件'kernel32.lib'

致命错误LNK1104:无法打开文件'gdi32.lib'

错误LNK1104:无法打开文件'Debug MyProjectLib.lib'