防止clang ++使用默认包含

时间:2018-05-29 13:19:25

标签: c++ include clang++

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

此主题显示如何列出默认包含目录: What are the GCC default include directories?

1 个答案:

答案 0 :(得分:1)

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

最后,任何C ++标题都可能间接包含assert.h,这就是你所发生的事情 - 据我所知,没有看到真正的代码。