空白DirectX11应用程序

Posted 史昊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了空白DirectX11应用程序相关的知识,希望对你有一定的参考价值。

我用的开发工具是Visual Studio 2015,开发了第一个win32应用程序虽然顺利,但是一旦添加DirectX相关代码应用便无法启动了,出现了一连串问题!让我瞬间一蹶不振!但是隔了几天我尝试的心情又卷土重来,又尝试了一把,终于把应用给启动了!

  1,首先第一个问题是“无法启动kernel32.lib"

  解决:项目-属性-VC++-库目录中添加$(VCInstallDir)lib;$(VCInstallDir)atlmfc;$(WindowsSDK_LibraryPath_x86);

  2,解决了kernel32.lib,又找不到ucrtd.lib了,方法和kernel32.lib类似,在库目录中添加C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10150.0\ucrt\x86;

  3,无法解析的外部命令 [email protected],这就奇怪了,这不就是d3d11.h中的函数吗?

  解决:在源文件中添加#pragma comment(lib,"d3d11.lib")

  4,解析了一个外部命令,又有一个外部命令找不到了_DXTrace,解决方法类似,添加#pragma comment(lib,"dxerr.lib")

  5,无法解析的外部符号 __vsnwprintf,这次就和上面的处理方法不一样了

  解决:项目-属性-链接器-输入-附加依赖项中添加legacy_stdio_definitions.lib

  不过写到了这里我才意识到其实3,4两个问题其实可以按照第五个问题的解决方法来解决的,在附加依赖项中添加d3d11.lib和dxerr.lib!

解决了上面这五个问题一个空白的DirectX11应用就启动了!

 

以上是关于空白DirectX11应用程序的主要内容,如果未能解决你的问题,请参考以下文章

使用 DirectX 11 后重置窗口

DirectX 12 应用程序在 Windows 11 中崩溃

我应该现在创建 CUDA 应用程序,还是等待 DirectX 11? [关闭]

DirectX 11.1 和 Win32 桌面

简单的 DirectX 11 程序运行时错误

DirectX 11能解释下是啥意思?