Bug陈述:
【abort() has been called.】问题出现的原因是多种多样的,如数组访问越界,内存泄漏等等。在本项目中的原因是路径错误。
解决方案:
在《Vulkan开发实战详解》样例运行时弹出的命令行界面中可以看到相关路径与真实路径不一致:
修改PathData.h中PathPre的路径(代码片第三行):
#ifndef PathData_H
#define PathData_H#define PathPre "F:/User/Desktop/PCSample2_1/BNVulkanEx/"#define VertShaderPath PathPre ## "shaders/commonTexLight.vert.spv"
#define FragShaderPath PathPre ## "shaders/commonTexLight.frag.spv"#endif
十分要注意:
手动复制粘贴路径时,Windows中的目录分隔符在路径中为“\”,但是Visual Studio中只识别“/”或“\\”。
所以要把“\”修改为/”,且路径最后要添加“/”(修改成“\\”也可以,最后记得也要添加“\\”),这样就能保证项目在Visual Studio中自动拼接路径时准确无误。
上述是博主出现错误的核心原因!
祝大家Good luck!