无法打开文件"dxguid.lib"
Cannot open file 'dxguid.lib'
我遇到了烦人的链接器问题 - VS2010声称它找不到这个文件,但它显然在那里,并且路径是正确的 - 我在同一文件夹中使用其他库,所有这些都没有问题。 (d3d9.lib 和 dinput8.lib) 我使用的是 2010 年 2 月版的 DXSDK (DX9),以防相关。 我什至尝试复制/粘贴文件名,所以我知道我没有输入错误。 我的"其他依赖项"行如下所示:
Library.lib;d3d9.lib;dinput8.lib;dxguid.lib;%(AdditionalDependencies)
"其他库目录"行为(用于调试版本):
$(DXSDK_DIR)Lib;$(SolutionDir)Debug;%(AdditionalLibraryDirectories)
(Library.lib 是我自己的库,存储在 $(SolutionDir)\Debug 文件夹中,或发布版本的版本,但这不是问题所在。
DXSDK 目录包含 2 个子文件夹,x64 和 x86,该文件存在于这两个子文件夹中,以及其他两个工作正常的库中。 (运行Windows 7 64位,所以它应该使用第一个。 有什么想法吗?
编辑:dinput8 和 d3d9 库可能已经在标准库中(它们太旧了),这就是为什么这在以前工作的原因。
目录
$(DXSDK_DIR)Lib
不是完整的路径。它必须是
$(DXSDK_DIR)Libx86
或
$(DXSDK_DIR)Libx64
取决于您的目标。
如果要为 32 位环境构建项目(转到配置管理器并检查确切的目标),请使用 x86 子目录,否则使用 x64。
您还应该注意,对于Visual Studio Express 2008,2010和CodeBlocks,您需要在附加库列表的顶部提供指向DirectX的路径,或者它可能被称为什么。使用带有奇怪符号的路径(虚拟路径,对吧?),以及直接浏览到 DirectX 安装中的路径。
如果您使用的是 32 但计算机,请使用 Lib/x86,如果在 64 位上,请使用 Lib/x64。此外,请确保将包含目录与 DirectX 标头一起包含。
不确定这是否会对您有所帮助,但如果您使用的是旧的 DirectX 代码,这是我的视频教程系列:http://hi-techheadache.blogspot.com/p/using-old-source-code.html
它还将澄清我所说的一切,因为我向您展示了如何设置这些 IDE 以与 DirectX 配合使用。
- 如何指定我希望我的LIB链接到的DLL文件?-Visual Studio 2019
- JSON转换为nlohmann JSON-lib中的结构数组
- 为什么导入Mixed native/CLR lib.dll的本机C++应用程序没有在Mixed lib.dll中的外部变
- 使用 VS2015 在 Windows 10 上构建 Fortran .lib x64 位并将其链接到 C++
- 为什么我的链接器在找到Coin4d.lib后搜索Coin4sd.lib?
- libcpmtd.lib有什么用?
- LNK1104:无法打开libpjproject-i386-Win32-vc14-Debug-Static.lib
- 解析引用 |exe/dll vs lib
- 在 /usr/local/lib 下找不到库
- LLVM 编译:目标的配方 '../lib/IR/Release+Asserts/Intrinsics.gen.tmp' failed
- CMake 生成的 MSVC 项目找不到符号,即使为其相关 dll 正确生成了 lib 文件也是如此
- VS2015 未链接用户32.lib
- 从 .lib 文件创建一个.dll文件
- 看不到文件'SDL2.lib'
- 如何使用用户定义的函数覆盖 C lib 函数,如 _sbrk?
- 如何在不需要LIBCD.lib的情况下在Visual Studio 6中编译C项目
- 可执行文件C++包括.obj,.lib和.dll吗?
- 我应该安装 .cmake 文件来共享/cmake 还是 lib/cmake?
- 无法在 DLL 中链接 SDL2-static.lib
- 无法打开文件"dxguid.lib"