You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UWP中使用DirectXTK的CreateDDSTextureFromFile加载DDS文件失败求助

解决DirectXTK加载DDS纹理时LNK2019链接错误的办法

看起来你在尝试用DirectXTK的DDSTextureLoader加载DDS纹理到立方体时碰到了链接错误,这个LNK2019找不到__imp__CreateFileW@28的问题其实挺常见的,我给你几个针对性的解决步骤:

1. 确认项目字符集设置

CreateFileW是Windows API的宽字符版本,你的项目必须配置为使用Unicode字符集才能正确识别它:

  • 右键你的项目 → 属性 → 常规 → 字符集,选择“使用Unicode字符集”(别选“多字节字符集”)。

2. 检查链接器依赖库

这个错误本质是缺少了包含CreateFileW的库,或是没正确链接DirectXTK的库:

  • 确保kernel32.lib被链接:CreateFileW属于kernel32.lib,VS的默认项目设置里通常会自动包含$(CoreLibraryDependencies)(其中就包含kernel32.lib),但如果你的项目被修改过,可以手动添加:右键项目 → 属性 → 链接器 → 输入 → 附加依赖项,加上kernel32.lib。
  • 确认DirectXTK库已正确链接:如果你是通过NuGet安装的DirectXTK,正常情况下NuGet会自动配置链接器依赖(Debug模式对应DirectXTKd.lib,Release模式对应DirectXTK.lib)。如果没自动配置,你可以手动把对应模式的库添加到附加依赖项里。

3. 顺便纠正路径小问题

虽然这和当前的链接错误无关,但你的路径写法有两个小问题,提前修改避免后续运行时出错:

  • 反斜杠在字符串里是转义字符,所以应该写成L"..\\Assets\\rocks.DDS"(注意双反斜杠)。
  • 你拼写错了Assets(写成了Assests),这个也得修正,不然运行时会找不到文件。

最后,按照你的调用代码,确保m_deviceResources->GetD3DDevice()返回的是有效的ID3D11Device*指针,这也是加载纹理的前提。

内容的提问来源于stack exchange,提问作者Florisve

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:48:02