13

我在 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

5 回答 5

14

<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 编译代码。

于 2012-10-02T06:13:48.887 回答
12

我遇到了同样的问题,但使用的是 Visual Studio Community Edition 2019。

解决方案是使用 Visual Studio 安装程序下载 Windows 10 SDK。一旦我这样做了,下一个编译就可以正常工作了。

头文件“crtdbg.h”是 Windows 10 SDK 工具包的一部分。我相信您会在此处找到 crtdbg.h C:\Program Files... 或 C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\crtdbg.h,具体取决于您的设置和版本.

于 2020-01-18T17:34:08.953 回答
2

我遇到了同样的问题,但使用的是 Visual Studio Code。首先启动/重启 VS Installer 并安装 Win10 SDK。然后重新启动您的计算机,所需的预兆就可用了。

于 2020-02-04T22:49:54.417 回答
0

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

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

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

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

解决 :

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

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

于 2021-07-26T02:47:13.013 回答
0

我最近尝试安装 LLVM/Visual Studio Code 时遇到了这个问题。clang 编译器需要安装 Windows SDK。

要安装 Windwos SDK 打开/下载 Visual Studio 安装程序并在使用 C++ 开发的桌面中检查 Windows 10 SDK

于 2021-11-14T12:11:59.813 回答