防止 clang++ 使用默认包含

Prevent clang++ from using default includes

本文关键字:默认 包含 clang++ 防止      更新时间:2023-10-16

对于我的C++类,我想在不包含默认路径的情况下进行编译。 这样,如果我忘记包含在使用 assert 的文件中,编译器将抛出错误。现在,我的编译器会自动包含assert.h,但是课程的自动测试系统编译器会抛出错误,因为它不会自动包含,这通常会导致混乱。

此线程显示如何列出默认包含目录: GCC 默认包含目录是什么?

我认为您至少混合了3个概念。有默认的包含路径。它们不会导致包含任何文件。有强制包含。它们可能会导致包含assert.h,但您必须显式地让编译器执行此操作。

最后,任何C++标头都可能间接包含assert.h,这就是发生在您身上的情况 - 据我所知,没有看到实际代码。