crtdbg.h 是否与 DirectX 冲突?
Does crtdbg.h conflict with DirectX?
我刚刚发现了隐藏的宝石crtdbg.h
它使内存泄漏检测变得更加容易。不幸的是,当我今天将DirectX链接到我的程序中时,我遇到了一些以前从未见过的错误。
1>e:program files (x86)microsoft directx sdk (june 2010)included3dx10math.h(425): error C2059: syntax error : 'constant'
1>e:program files (x86)microsoft directx sdk (june 2010)included3dx10math.h(425): error C2091: function returns function
1>e:program files (x86)microsoft directx sdk (june 2010)included3dx10math.h(425): error C2802: static member 'operator new' has no formal parameters
1>e:program files (x86)microsoft directx sdk (june 2010)included3dx10math.h(426): error C2059: syntax error : 'constant'
1>e:program files (x86)microsoft directx sdk (june 2010)included3dx10math.h(426): error C2090: function returns array
1>e:program files (x86)microsoft directx sdk (june 2010)included3dx10math.inl(1003): error C2761: 'void *(__cdecl *_D3DXMATRIXA16::operator new(void))(size_t)' : member function redeclaration not allowed
1>e:program files (x86)microsoft directx sdk (june 2010)included3dx10math.inl(1003): fatal error C1903: unable to recover from previous error(s); stopping compilation
似乎当 crtdbg 覆盖新运算符时,它会破坏 DirectX SDK 中的某些内容(如果您没有注意到错误,我使用的是 DirectX 11 SDK)。有没有记录在案的事情?一些搜索没有产生任何结果。我真的希望我能继续使用这些内存调试工具,任何解决方法将不胜感激!
好的,我想通了。我通过谷歌找到了这篇文章。(我希望Stack Overflow在我键入此内容时在侧边栏上向我显示它!或者也许它确实如此,我错过了它...
基本上,我需要将包含crtdbg.h
、stdlib.h
和_CRTDBG_MAP_ALLOC
的定义移动到单独的标头中,并使用项目属性页中 C/C++>>Advanced 下的 Forced Include File
选项强制在任何地方包含文件。这似乎使其覆盖所有其他new
覆盖。
相关文章:
- 写入位置0x0000000C时发生访问冲突
- GL_SHADERSTORAGE_BUFFER位置是否与其他着色器位置冲突
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- 引发异常:读取访问冲突**dynamicArray**为0x1118235.发生
- C++LinkedList问题.数据类型之间存在冲突?没有匹配的构造函数
- 如何在directx/c++中进行平移/缩放操作
- 链表中写入访问冲突的未知原因
- C++中的openCV Mat访问冲突
- DrawIndexedInstanced 具有不同的 Index Count per Instance (Directx
- 如何使 std::sort 在 std::swap 和我的命名空间的模板化交换之间没有名称冲突?
- C++尝试深度复制唯一指针时出现内存访问冲突
- 错误:使用通用引用的声明冲突
- 如何解决GTest和LibTorch联动冲突
- 两个运营商的一些奇怪的冲突<<
- 如何在多个线程中创建 QSql数据库连接时防止名称冲突
- C++ 中动态二维数组的访问冲突
- Directx 11 - CompileFromFile() is not compiling
- 如何从 DirectXTK (ToolKit) DirectX::Model 类获取所有顶点坐标以用于冲突检测
- directx标头和winerror.h之间的宏定义冲突
- crtdbg.h 是否与 DirectX 冲突?