c++ - #define VMA_IMPLEMENTATION 之后的 Vulkan 内存分配器实现错误
问题描述
Windows 10、Visual Studio 社区 2019
我正在关注https://vkguide.dev/docs/chapter-3/triangle_mesh_code/,它提到要添加#include "vk_mem_alloc.h"
,如果你编译你会得到链接器错误。然后它描述了你应该把#define VMA_IMPLEMENTATION
包含在vk_engine.cpp
. 我了解这是如何工作的,并且我只在.cpp
文件中包含了一次定义。
问题:在编译该状态之前,对于整个标头中的某些各种功能,“声明与...不兼容”。尝试编译会给我错误:
m_Lock 未知覆盖说明符
m_Lock 未声明的说明符
InitializeSWRLock 未定义
如果您基于以下“所有章节”链接中的 VMA 版本,这些问题的范围从第 4089-4097 行开始。
我什至下载了https://github.com/vblanco20-1/vulkan-guide/tree/all-chapters并尝试编译第 3 章,但我遇到了同样的问题。在同一条线上。我能够编译第 0、1 和 2 章,但由于某种原因,这#define VMA_IMPLEMENTATION
给了我这些特定的错误,我无法在网上找到很多关于它们的信息。
编辑: 解决方案:在您的编译器中启用 C++17 我注意到 C++ 标准是 C++14,当我开始编译时将其更改为 C++17。本教程中的 cmake 不会自动将标准设置为 C++17。感谢那些在我工作时发表评论的人,希望这可以帮助另一个程序员
解决方案
推荐阅读
- makefile - (GNU) Make 如何处理多个匹配目标?
- windows - TSaveDialog 改变文件名的大小写
- javascript - 将 Ag-grid 与嵌套对象的对象一起使用
- go - 如何在 go-elasticsearch 中使用 gin?
- c - 我如何阅读这个递归 c 编程
- python - 是否有 Python 函数可以并行运行代码?
- python - 无法在 anaconda jupyter notebook 中使用 python 显示图像
- c++ - 彩色鼠标移动
- python-3.x - TKinter 打开文件对话框是否有替代方法?
- python - Python 3:读取一行时的 EOF(Visual Studio 代码)