我按照introduction to 3D Game Programing with DirextX 11一开始介绍章一开始那样配置完环境,将BoxDemo复制到自己的项目里来。
结果运行时,却出现了一个问题1;
error X3501: 'main': entrypoint not found
解决方法:
1.右击项目属性打开HLSL编辑器把着色器类型改成FX(不确定每个人都需要)
2.还有就是入口点名称改为“WinMain”;
这时出现了另一个问题2:
错误 MSB6006 “fxc.exe”已退出,代码为 1。
这个问题的解决方法:右击项目属性发开HLSL编辑器把着色模型改成着色模型5(5/0)
这些问题都是VS版本过新造成的.所以我们在这件事情上学到 了编辑器不是越新越好
问题3:
effects.lib出现问题
解决方法:
DirectxSDK->Samples->C++->Effects11->Efects11_2010.sln.把Efects11_2010.sln用用你的VS运行(我的是2015),运行完后Effects11里的Debug文件夹和Release文件夹里都会出现effects11.lib(运行出来的这两个文件才符合你们的自己的版本,原先的是符合vs2015的)。Debug里的effects.lib 重命名为effects11d.lib.分别把Debug文件夹和Release文件夹里的effects11.lib和effects11d.lib放到lib\x86里替换掉。
问题4:
这个其实问题其实是龙书作者自己介绍时出错了。
BOX代码中有一句要"\FX\color.fx",而当我们添加现有项的时候,项目目录里是没有FX这个文件夹和COLOR.FX这个文件的。
所以我们要把BOXDEMO中的FX复制到我们新创的项目下,再添加筛选器,和现有项COLOR.FX。
重点是!!!!确保自己的项目目录里有"\FX\color.fx",不然就会出错的
在学习DirectX 11时,作者遇到在VS2015中运行Box Demo时的一系列问题。首先,由于缺少入口点,导致'entrypoint not found'错误,通过修改HLSL编辑器的着色器类型和入口点名称解决。接着,出现'fxc.exe'退出代码为1的错误,解决办法是将HLSL编辑器的着色模型设置为着色模型5。之后,因旧版effects.lib不适用于VS2015,需要从Effects11_2010.sln重新生成并替换。最后,作者指出龙书代码中关于'FXcolor.fx'路径的错误,需确保项目目录正确包含此文件。

2万+

被折叠的 条评论
为什么被折叠?



