我如何获得crtdbg.h文件?

时间:2012-10-02 05:56:59

标签: c++ eclipse mingw

我在Windows上使用MinGW GCC + Eclipse,我遇到了这个错误:

  

C:\ Program Files \ ITG Derivatives LLC \ api_clear-2.0.2.48 \ include / windows / csassert.h:12:20:致命错误crtdbg.h没有这样的文件或目录

什么是crtdbg.h文件?我怎样才能解决这个问题?

4 个答案:

答案 0 :(得分:11)

<crtdbg.h>是Microsoft Visual C ++特定的标头。您可以使用类似于以下内容的存根来解决此问题:

#ifdef _MSC_VER
#include <crtdbg.h>
#else
#define _ASSERT(expr) ((void)0)

#define _ASSERTE(expr) ((void)0)
#endif

请注意,这将禁用您正在编译的代码中的任何断言,如果您编译的代码使用crtdbg.h中的更高级功能(例如内存泄漏检测),则仍然无法帮助您。如果正在使用这些功能,则需要使用MSVC ++而不是MinGW编译代码。

答案 1 :(得分:2)

我遇到了完全相同的问题,但是使用了Visual Studio Community Edition2019。

解决方案是使用Visual Studio安装程序下载Windows 10 SDK。一旦完成,下一次编译就可以了。

答案 2 :(得分:0)

我遇到了完全相同的问题,但是使用了Visual Studio Code。 首先启动/重新启动VS Installer并安装Win10 SDK。 然后重新启动计算机,即可使用所需的治疗仪。

答案 3 :(得分:0)

我来自 Go--g-- 在这里搜索。

安装 Visual Studio 2019 预览版(2022 预览版)后,我也遇到了同样的情况。

打开 Developer Command Prompt 并转到特定文件夹后,

cl test.cpp 给出了上述错误。

解决:

安装 Visual Studio 2022 预览版 或任何其他版本后,请执行reboot 系统。

重新启动后,我可以成功运行cl命令,并编译了一个测试程序,没有出现上述任何错误。