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!