我用的开发工具是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应用就启动了!
时间: 2024-10-26 10:50:22