空白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,无法解析的外部命令 _D3D11CreateDeviceAndSwapChain@48,这就奇怪了,这不就是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应用就启动了!

 

posted @ 2016-06-05 23:10  史昊  阅读(606)  评论(0编辑  收藏  举报