最近入门写D3D,刚写完编译没报错,但运行首先报错
winmain 无法重载函数
搜索了一下是因为当采用WinMain作为入口函数时,第三个参数类型应定义为LPSTR,表示CHAR *型,而不应该使用LPTSTR或LPWSTR
修改后又报错无法解析外部符号
error LNK2019: 无法解析的外部符号 _D3D11CreateDeviceAndSwapChain@48
error LNK2019:无法解析的外部符号 _D3DReadFileToBlob@8,
在项目中搜索CreateDeviceAndSwapChain,按住ctrl再按左键,发现其在d3d.h中定义
再搜索ReadFileToBlob,发现其在d3dcompiler.h中定义
两种方法:
- 在项目前面定义:
pragma comment(lib, "d3dcompiler.lib")
pragma comment(lib, "d3d11.lib")
-
找到项目属性->链接器->输入->附加依赖项->编辑->新增d3d11.lib和d3dcompiler.lib